MySql - Come aggiornare parte di una stringa?


103

Sto cercando un modo per aggiornare solo una parte di una stringa tramite query MySQL.

Ad esempio, se ho 10 record che contengono tutti 'stringa' come parte del valore del campo (ad esempio, 'qualcosa / stringa', 'qualcosa / stringalookhere', 'qualcosa / stringa / eccetera', c'è un modo per cambiare 'stringa "to" anothervalue "per ogni riga tramite una query, in modo che il risultato sia" something / anothervalue "," something / anothervaluelookhere "," something / string / etcetera ", c'è un modo per cambiare" anothervalue "

Risposte:


231

Penso che dovrebbe funzionare:

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

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

14

Usa l' LIKEoperatore per trovare le righe che ti interessano e aggiornale utilizzando la REPLACEfunzione.

Per esempio:

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

0

Qualcosa di simile funziona in qualche modo?

update table_name
set column_name = replace(column_name, 'string%', 'string') 
where column_name like '%string%'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.