我有一个带有文章表的MySQL DB(5.7.18)。每篇文章都在abstract
专栏中有一个抽象的HTML字符串。由于HTML编辑器中存在错误,许多HTML标记都会被烦人的样式污染,如下所示:
<h1 style="color: rgb(0, 0, 0);">Wonderful Abstract</h1>
为了解决这个问题,我正在尝试以下查询:
UPDATE `article` SET `abstract`=REPLACE(`abstract`,' style="color: rgb(0, 0, 0);"','')
不幸的是,显示了语法错误:
#1064 - 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行''style =“color:rgb(0,0,0))附近使用正确的语法
如果删除分号,它可以正常工作:
UPDATE `article` SET `abstract`=REPLACE(`abstract`,' style="color: rgb(0, 0, 0)"','');
但它必须在字符串中替换...
我找到了一个参考here说逃避它:
UPDATE `article` SET `abstract`=REPLACE(`abstract`,' style="color: rgb(0, 0, 0)\;"','')
但仍显示错误消息。
同一来源中描述的另一个选项是在语句的末尾添加分号:
UPDATE `article` SET `abstract`=REPLACE(`abstract`,' style="color: rgb(0, 0, 0);"','');
以及这两者的结合:
UPDATE `article` SET `abstract`=REPLACE(`abstract`,' style="color: rgb(0, 0, 0)\;"','');
错误消息仍然存在。