使用insert或update替换MySQL列中的字符串

时间:2017-10-15 09:03:33

标签: mysql sql

我正在尝试将名为“example.com”的字符串替换为名为“newdomain.com”且名称为“wp_options”的MySQL表中的“option_value”。

我已经看到很多关于替换的其他问题,但问题是他们都使用REPLACE函数,这会损坏我的表的结构,因为它删除了行(如果匹配)并插入一个新的一个(1),它使主键和唯一ID消失(例如,这导致我丢失了我的主题配置)。

有没有办法用INSERT函数替换这样的字符串?还是UPDATE

1 个答案:

答案 0 :(得分:1)

一个简单的update语句应该这样做:

UPDATE wp_options
SET    option_value = 'newdomain.com'
WHERE  option_value = 'example.com'

修改:
如果要求是在下面的评论中明确说明的值内进行搜索,则可以使用replace函数:

UPDATE wp_options
SET    option_value = REPLACE(option_value, 'example.com', 'newdomain.com')
WHERE  option_value LIKE '%example.com%'