Einführung:
Viele Anwendungen erfordern die Möglichkeit, bestimmte Teile zu ändern einer Zeichenfolge innerhalb einer Datenbank. Diese Aufgabe kann umständlich werden, wenn mehrere Zeilen einzeln aktualisiert werden müssen. MySQL bietet eine praktische Lösung für diese Herausforderung.
Lösung:
Um einen Teil einer Zeichenfolge für mehrere Zeilen in einer einzigen Abfrage zu aktualisieren, bietet MySQL die Funktion REPLACE(). Diese Funktion ersetzt alle Vorkommen einer angegebenen Teilzeichenfolge durch einen neuen Wert.
Syntax:
UPDATE table_name SET column_name = REPLACE(column_name, 'substring_to_replace', 'new_substring') WHERE condition;
Beispiel:
Berücksichtigen Sie die Folgende Tabelle mit einem Feld namens „Beschreibung“:
id | description |
---|---|
1 | something/string, something/stringlookhere |
2 | something/string/etcetera |
Um alle Vorkommen von zu ersetzen „string“ mit „anothervalue“ in allen Zeilen verwenden Sie die folgende Abfrage:
UPDATE table_name SET description = REPLACE(description, 'string', 'anothervalue');
Ergebnis:
id | description |
---|---|
1 | something/anothervalue, something/anothervaluelookhere |
2 | something/string/etcetera |
Hinweis: Wenn Sie nur Zeilen aktualisieren möchten, die die angegebene Teilzeichenfolge enthalten, fügen Sie eine WHERE-Klausel in Ihre Abfrage ein. Um beispielsweise nur Zeilen zu aktualisieren, in denen „string“ im Feld „description“ vorkommt:
UPDATE table_name SET description = REPLACE(description, 'string', 'anothervalue') WHERE description LIKE '%string%';
Das obige ist der detaillierte Inhalt vonWie kann ich Teile von Strings in MySQL mit einer einzigen Abfrage aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!