2009-12-09 9 views
79

Ich suche nach einer Möglichkeit, nur einen Teil einer Zeichenfolge über MySQL-Abfrage zu aktualisieren.MySql - Möglichkeit, Teil einer Zeichenfolge zu aktualisieren?

Zum Beispiel, wenn ich 10 Datensätze habe, die alle 'string' als Teil des Feldwertes enthalten (zB 'something/string', 'something/stringlookhere', 'something/string/etc.), gibt es einen Weg Um 'string' für jede Zeile über eine Abfrage zu 'anothervalue' zu ändern, so dass das Ergebnis 'something/anothervalue', 'something/anothervaluelookhere', 'something/string/etc' ist, gibt es eine Möglichkeit, 'anothervalue' zu ändern

+0

Mögliches Duplikat [MySQL suchen und einen Text in einem Feld ersetzen] (http://stackoverflow.com/questions/125230/mysql -Suchen-und-ersetzen-einige-Text-in-einem-Feld) –

Antwort

169

ich denke, das sollte funktionieren:

UPDATE table SET field = REPLACE(field, 'string', 'anothervalue') WHERE field LIKE '%string%'; 
+1

Natürlich ... danke ... Es war einmal, ich wusste von dieser Funktion ... dumme Grippe. – n00b0101

+1

awesome Kumpel, Sie sparen meinen ganzen Tag –

+1

PERFEKT !! Du hast meinen Tag gerettet! –

22
UPDATE `table` SET `field` = REPLACE(`field`, 'string', 'anothervalue') 
9

Verwenden Sie den LIKE Operator die Zeilen zu finden, die Ihnen wichtig sind und aktualisieren Sie sie mit der Funktion REPLACE.

Zum Beispiel:

UPDATE table_name SET field_name = REPLACE(field_name,'search','replace') WHERE field_name LIKE '%some_value%' 
+0

FYI: Code> Erklärung, aber beide sind ideal. –

Verwandte Themen