更新语句中的MySQL分号导致语法错误
我有一个带有文章表的MySQL DB(5.7.18)。每篇文章在abstract
列中都有一个摘要作为html字符串。由于在HTML编辑器中的错误,许多HTML标记都是污染恼人的风格,就像这样:更新语句中的MySQL分号导致语法错误
<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服务器版本正确的语法使用 附近'风格=“COLOR:RGB(0,0,0))”手动位于第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)\;"','');
错误信息仍然存在。
phpMyAdmin?男人......有一些更好的选择:p –
没有味道的会计......(它用希伯来语押韵:עַלטַעַםוְעַלרֵיחַאֵיןלְהִתְוַכֵּחַ)。 – Dorad
当然,但在这种情况下,phpMyAdmin使您无法使用有效的SQL语法 –
我似乎无法为[复制](http://rextester.com/OOQ84230)这个问题在当地,至少文本替换本身对我的作品。 –
谢谢@TimBiegeleisen。所以这可能是特定于我的环境的东西。 – Dorad
可以重现。在一个字符串中的分号应该不会引起任何问题,在insert语句中仍然将该字符串括在单引号中。尝试结束您的声明;; $$ 定界符;。 (不知道这是否有帮助) – Karthik