我正在寻找某个字段中的某个字符串,并想用一个新字符串替换它。具体来说,我希望对一个 URL 的所有引用都更改为另一个 URL。我已经编写了这个 SQL 语句,并mysql>
使用 MySQL Community Server 5.1.54 在 CentOS 5.5上的提示下运行它。
update [table] set [field] = REPLACE([field],'%domain.com%','%domain.org%');
Run Code Online (Sandbox Code Playgroud)
回应是:
Query OK, 0 rows affected (0.02 sec)
Rows matched: 618 Changed: 0 Warnings: 0
Run Code Online (Sandbox Code Playgroud)
我怎样才能追踪为什么没有进行任何更改?
感谢 Aaron Bertrand,我发现它REPLACE()
无法处理通配符,而且我完全错误地使用了它(想想:缺少WHERE
子句)。这是我修改后的声明:
UPDATE [table]
SET [column] =
REPLACE (
[column],
'companydomain.com',
'companydomain.org' )
WHERE
[column]
LIKE
'%companydomain.com%';
Run Code Online (Sandbox Code Playgroud)
我收到旧的,熟悉的:
Query OK, 0 rows affected (0.02 sec)
Rows matched: 167 Changed: 0 Warnings: 0
Run Code Online (Sandbox Code Playgroud)
我可能做错了什么?
我会告诉你我做错了什么!!我不是在质疑假设。我的 …