Page 1 of 1

Tags suchen und ersetzen?

Posted: Thu Sep 09, 2010 11:25 am
by u1amo01
Ich verwende das Plugin "Freie Artikel-Tags" und möchte ein Tag, das in vielen Einträgen vorkommt umbenennen.

Wie mache ich das am besten?

Habs direkt in der Datenbank versucht mit

Code: Select all

UPDATE tabellenname SET feldname = replace(feldname, suchstring, ersatzstring);
bzw. bei mir dann mit

Code: Select all

UPDATE serendipity_entrytags SET tag = replace( tag, 'blue note', 'blue note big band' );

Hat in der Testdatenbank auch funktioniert, im "richtigen" Blog erscheint allerdings die Fehlermeldung

Code: Select all

#1062 - Duplicate entry '158-blue note big band' for key 1
Gesucht ... ach, zu dumm. Der Beitrag 158 (und nicht nur der) wurde sowohl mit "blue note" als auch mit "blue note big band" getaggt und macht deshalb anscheinend Probleme. Hmpf.

Vielleicht kann man das ja auch ganz anders lösen, ohne in die Datenbank zu steigen. Irgendwelche Tipps?

Re: Tags suchen und ersetzen?

Posted: Thu Sep 09, 2010 2:41 pm
by garvinhicking
Hi!

Korrekt wäre

Code: Select all

UPDATE serendipity_entrytags SET tag = 'blue note big band' where tag = 'blue note'
REPLACE braucht man nur für Ersetzungen innerhalb eines Feldes, nicht vom Feldinhalt selbst. In deiner Livedatenbank sieht es aber so aus als gäbe es "blue note" als Tag bereits - das müsstest du evtl vorher löschen. Wenn es aber schon Verbindungen hat, dann wirds schwierig weil Du dann zwei IDs zusammenlegen musst...

Grüße,
Garvin