我正在使用以下answer更改 MySQL 表中多条记录中的文本字段。
我需要更改每条记录中 URL 带有双引号的一小部分。
记录示例:
a:32:{s:5:"title";s:23:"Texas"footertext";s:220:"<a class=\"footerlink\" href=\"%ORIGINALPOSTURL%\" target=\"_blank\" rel=\"nofollow\">CLICK HERE FOR MORE INFO & PHOTOS</a>}
我想删除target=\"_blank\"
由于在我尝试替换的目标值中使用双引号,我不会更新任何我怀疑的记录。我尝试过带反斜杠和不带反斜杠。您在此处看到的双引号两侧的这 4 个反斜杠在 phpMyAdmin 中执行 SELECT 时起作用。我也尝试过使用单个反斜杠更新零记录。
这些都不起作用
UPDATE wp_autoblog SET feed_meta = replace(feed_meta,'target=\\\\"_blank\\\\"','');
UPDATE wp_autoblog SET feed_meta = replace(feed_meta,'target=\"_blank\"','');
最佳答案
事实证明 phpMyAdmin 在网络浏览器中显示数据时插入了一个额外的反斜杠。
我最终对表进行了 .sql 转储,并且我尝试替换的数据如下所示:target=\\\"_blank\\\"
我发出了以下命令,效果很好。
UPDATE wp_autoblog SET feed_meta = REPLACE( feed_meta, 'target=\\\"_blank\\\"', '' )
关于mysql - MySQL UPDATE 查询中的双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35190926/