http://matthias-hielscher.de/blog/331/Suchen_und_Ersetzen_in_MySQL-Datensaetzen.html
Dez
31

Suchen und Ersetzen in MySQL-Datensätzen

Ich hatte das Problem, dass seit der Anpassung des Cachings vor einigen Monaten bestimmte Zeichen einiger Beiträge und Kommentare in der MySQL-Datenbank nicht mehr in der HTML-Darstellung enthalten sind, sondern so, wie der Benutzer sie verfasst hat.
Anschließend werden diese Datensätze entsprechend aufbereitet und dargestellt. Die Folge war, dass die alten Einträge natürlich falsch angezeigt wurden. Daher fing ich an, die paar Beiträge manuell zu bearbeiten, da es sich nicht gelont hätte, ein Skript dafür zu schreiben. Doch ich dachte mir, das muss auch einfacher gehen.
Und es geht wirklich viel einfacher! \:\)

Da ich eine Möglichkeit gefunden habe, die ich zuvor nicht kannte und einige von euch evtl. auch mal in eine ähnliche Situation kommen, schreibe ich hier, wie's geht. Vielleicht wissen es auch bereits einige von euch.
Das Ersetzen eines Strings (Zeichenkette) mit einem anderen geht mit einer einzigen SQL-Anweisung und zwar mit folgender:

SQL-Code:
UPDATE <Tabellenname> SET <Spalte> = REPLACE(<Spalte>, <Suchstring>, <Ersetzstring>);

Ein Beispiel:

SQL-Code:
UPDATE blog_entries SET blog_message = REPLACE(blog_message, 'alter Text', 'neuer Text');

Schön, dass die REPLACE-Funktion in MySQL implementiert ist, die einem diese Arbeit abnimmt.
Ich hoffe, einigen von euch hilft dieser Beitrag. \;\)

Bleibe auf dem Laufenden!

Wenn du den RSS-Feed abonnierst, wirst du über neue Blogeinträge benachrichtigt.

Kommentare

  • DenSchub
    01.01.2008, 15:35
  • oO
    Das wusste ich garnicht!

    Danke Matze \:\-\)

    lg,

    Dennis

Einen Kommentar schreiben

 
 
  • : *
  • :
  • : *
* Pflichtfelder