我正在寻找一种通过MySQL查询更新字符串的一部分的方法。
例如,如果我有10条记录都包含'string'作为字段值的一部分(即'something / string','something / stringlookhere','something / string / etcetera',有没有办法通过一个查询为每行更改'string'为'anothervalue',结果是'something / anothervalue','something / anothervaluelookhere','something / string / etcetera',有没有办法改变'anothervalue'< / p>
答案 0 :(得分:204)
我认为这应该有效:
UPDATE table
SET field = REPLACE(field, 'string', 'anothervalue')
WHERE field LIKE '%string%';
答案 1 :(得分:25)
UPDATE `table` SET `field` = REPLACE(`field`, 'string', 'anothervalue')
答案 2 :(得分:14)
使用LIKE
运算符查找您关注的行,并使用REPLACE
函数更新它们。
例如:
UPDATE table_name SET field_name = REPLACE(field_name,'search','replace') WHERE field_name LIKE '%some_value%'
答案 3 :(得分:0)
这样的事情有什么作用吗?
update table_name
set column_name = replace(column_name, 'string%', 'string')
where column_name like '%string%'