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
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.