sql - MySql - 更新字符串部分的方法?

我正在寻找一种通过MySQL查询更新字符串的一部分的方法。

例如,如果我有10条记录都包含' string' 作为字段值的一部分(即' something / string',' something / stringlookhere',' something / string / etcetera',有没有办法改变 通过一个查询为每一行输入'到另一个值,以便结果是“/某个/另一个值”,“其他/另一个值”' ,' something / string / etcetera',是否有办法改变另一个值'

n00b0101 asked 2019-08-13T00:19:57Z
3个解决方案
203 votes

我认为这应该有效:

UPDATE table
SET field = REPLACE(field, 'string', 'anothervalue')
WHERE field LIKE '%string%';
Kaleb Brasee answered 2019-08-13T00:20:05Z
25 votes
UPDATE `table` SET `field` = REPLACE(`field`, 'string', 'anothervalue')
Tatu Ulmanen answered 2019-08-13T00:20:21Z
14 votes

使用LIKE运算符查找您关注的行,并使用REPLACE函数更新它们。

例如:

UPDATE table_name SET field_name = REPLACE(field_name,'search','replace') WHERE field_name LIKE '%some_value%'
Bernard Chen answered 2019-08-13T00:20:48Z
translate from https://stackoverflow.com:/questions/1876762/mysql-way-to-update-portion-of-a-string