我尝试使用以下方式进行REPLACE:
UPDATE wp_posts SET post_content=REPLACE (post_content, 'src=..\wp-content','src='wp-content')
数据库表示它成功了,但影响了0行。
我可以直接在post_content中搜索%..\wp-content%
并查找条目,以便我知道它们存在。
如何查找/替换这些条目(..\wp-content
)?
由于
答案 0 :(得分:3)
你必须双击你的反斜杠。
UPDATE .... 'src=..\\wp-content'etc...
由于\w
不是sql元字符,因此sql解析器会将其简化为简单的w
。
e.g。
mysql> create table foo (x varchar(16));
mysql> insert into foo (x) values ('foo\war'), ('foo\\war');
mysql> select * from foo;
+---------+
| x |
+---------+
| foowar |
| foo\war |
+---------+
注意单反斜杠现在已经消失了,表中只有foowar
。这意味着您的where
条款:
mysql> select * from foo where x='foo\war';
+--------+
| x |
+--------+
| foowar |
+--------+
1 row in set (0.00 sec)
mysql> select * from foo where x='foo\\war';
+---------+
| x |
+---------+
| foo\war |
+---------+