Tags suchen und ersetzen?

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
User avatar
u1amo01
Regular
Posts: 265
Joined: Fri Sep 28, 2007 3:55 pm
Location: Kurpfalz, Germany
Contact:

Tags suchen und ersetzen?

Post by u1amo01 » Thu Sep 09, 2010 11:25 am

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?

User avatar
garvinhicking
Core Developer
Posts: 30009
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Tags suchen und ersetzen?

Post by garvinhicking » Thu Sep 09, 2010 2:41 pm

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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/

Post Reply