我正在尝试将名为“example.com
”的字符串替换为名为“newdomain.com
”且名称为“wp_options
”的MySQL表中的“option_value
”。
我已经看到很多关于替换的其他问题,但问题是他们都使用REPLACE
函数,这会损坏我的表的结构,因为它删除了行(如果匹配)并插入一个新的一个(1),它使主键和唯一ID消失(例如,这导致我丢失了我的主题配置)。
有没有办法用INSERT
函数替换这样的字符串?还是UPDATE
?
答案 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%'