我有一个带有文章表的 MySQL 数据库 (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 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' style="color: rgb(0, 0, 0))' at line 1
如果删除分号,它可以正常工作:
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)\;"','');
错误信息仍然存在。
最佳答案
关于更新语句中的 MySQL 分号导致语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44298640/