MySQL – Austausch eines String innerhalb einer Zelle einer Tabelle mittels Replace

Ich war in der Situation in einer MySQL – Tabelle den String ‘/bar/images’ gegen ‘images’ auszutauschen. Klar kein Problem – geht schnell von Hand…  Nachdem ich jedoch gesehen hatte dass es mehr als 700 Datensätze waren, musste eine automatisiert Lösung her. Was also wenn es nicht direkt über MySQL laufen würde und hier kommt die Lösung, ausgeführt in phpMyAdmin

Lösung

in diesem Fall waren es zwei Felder in der Tabelle die ich getrennt bearbeitet habe. Vorher sollte immer ein entsprechendes Backup der Datenbank / Tabelle und Einträge erfolgen.

Syntax:

UPDATE `Tabellenname` SET `SPALTE1` = REPLACE(`SPALTE1`,’ALTER-WERT’,’NEUER-WERT’) WHERE `SPALTE1` like ‘%SUCHWERT%’
Beispiel
UPDATE `_content` SET `fulltext` = REPLACE(`fulltext`,’bar/images’,’images’) WHERE `fulltext` like ‘%bar/images%’

Somit wird der String ‘bar/images’ gegen den String ‘images’ getauscht, während der Rest des Strings in der Spalte / des Eintrages erhalten bleibt. Einfach und schneller als >700 Einträge von Hand zu bearbeiten 😉

Link zum MySQL Handbuch von 5.1

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.