0 Daumen
586 Aufrufe

Ich habe ein Feld in meiner MySQL-Datenbank mit Namen: content vom Typ varchar(12000). Dort steht Text, der von Benutzern kam und gespeichert wurde.

Jetzt möchte ich eine alte Domain, die dort mehrmals im Text vorkommt, mit einer anderen ersetzen. Das heißt ich muss über alle content Einträge gehen. Klar könnte ich das mit PHP machen, aber sicher geht es auch irgendwie direkt mit MySQL.

Mit welcher Datenbankanweisung ist das möglich?

Avatar von

1 Antwort

0 Daumen

Das Ersetzen von Wörtern im Text geht mittels der REPLACE Funktion:

# replace string in Mysql
UPDATE `tabellenname`
SET `content` = REPLACE(content, 'www.altedomain.de', 'www.neuedomain.de');

Für ein weiteres Beispiel, sagen wir, du möchtest in einer Tabelle in der Spalte content alle Wörter "Straßenbahn" mit "Rakete" ersetzen, dann sieht das so aus:

UPDATE `tabellenname`
SET `content` = REPLACE(content, 'Straßenbahn', 'Rakete');

Dadurch wird dieser Eintrag:

Der Mann stand in der Straßenbahn.

zu diesem umgewandelt:

Der Mann stand in der Rakete.
Avatar von

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

0 Daumen
1 Antwort
+1 Daumen
1 Antwort
0 Daumen
1 Antwort
+1 Daumen
1 Antwort

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community