首页 > 解决方案 > SQL 中的更新替换分号获取语法错误

问题描述

我将一个 SQL 文件导入我的数据库,但出现了问题。句子/短语末尾的所有标点符号都有额外的空间。

例子:

This is a sentence .
This , as you can see , is a problem .
Do it !

应该:

This is a sentence.
This, as you can see, is a problem.
Do it!

为了更正,我计划在这种情况下在 phpMyAdmin 上运行 SQL 命令

UPDATE book SET content = REPLACE(content,' .','.');
UPDATE book SET content = REPLACE(content,' ,',',');
UPDATE book SET content = REPLACE(content,' ?','?');
UPDATE book SET content = REPLACE(content,' !','!');
UPDATE book SET content = REPLACE(content,' :',':');

到现在为止还挺好。但是当我在这样的分号上尝试时

UPDATE book SET content = REPLACE(content,' ;',';');

模拟查询时出现语法错误 #1064。

我尝试用这样的反斜杠转义它,但同样的错误

UPDATE book SET content = REPLACE(content,' \;','\;');

知道如何解决这个问题吗?

谢谢

标签: mysqlsqlreplacesql-update

解决方案


尝试

delimiter /
UPDATE book SET content = REPLACE(content,' ;',';');
delimiter ;

编辑:

它是 phpMyAdmin 中的一个字段,默认设置为分号。出发 /。

在此处输入图像描述


推荐阅读