MySql - способ обновить часть строки?

104

Я ищу способ обновить только часть строки с помощью запроса MySQL.

Например, если у меня есть 10 записей, каждая из которых содержит «строку» как часть значения поля (например, «something / string», «something / stringlookhere», «something / string / etcetera», есть ли способ изменить »строку 'to' anothervalue 'для каждой строки через один запрос, чтобы результат был' something / anothervalue ',' something / anothervaluelookhere ',' something / string / etcetera ', есть ли способ изменить' другое значение '

n00b0101
источник

Ответы:

233

Я думаю, это должно сработать:

UPDATE table
SET field = REPLACE(field, 'string', 'anothervalue')
WHERE field LIKE '%string%';
Калеб Браси
источник
26
UPDATE `table` SET `field` = REPLACE(`field`, 'string', 'anothervalue')
Тату Улманен
источник
14

Используйте LIKEоператор, чтобы найти строки, которые вам нужны, и обновить их с помощью REPLACEфункции.

Например:

UPDATE table_name SET field_name = REPLACE(field_name,'search','replace') WHERE field_name LIKE '%some_value%'
Бернард Чен
источник
0

Что-то подобное вообще работает?

update table_name
set column_name = replace(column_name, 'string%', 'string') 
where column_name like '%string%'
Лукас
источник