mysql - 使用插入或更新替换 MySQL 列中的字符串

标签 mysql sql

我试图在名为“wp_options”的 MySQL 表中用“newdomain.com”替换像“example.com”这样的字符串”,列名称为“option_value”。

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

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

最佳答案

一个简单的 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%'

关于mysql - 使用插入或更新替换 MySQL 列中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46753414/

相关文章:

mysql - 为什么查询不使用索引以及如何优化它?

没有键/索引的 MYSQL 连接表

c# - SQL Server Report Builder 3 使用带参数的 SQL IN 运算符不起作用

sql - 在一列中查找 n 个最大值

mysql - 如何在mysql中选择最长的连续正条纹行?

mysql - 仅用 1 个请求替代 2 个 SQL/ORACLE 请求

mysql - 如何转义用作列名的保留字? MySQL/创建表

sql - mysql 分组删除

mysql - Delphi 7 ODBC MySQL Win 7

SQL 组按自定义类别(数量)