gtxyzz

(转载)MySQL中执行sql语句反斜杠需要进行转义否则会被吃掉

gtxyzz 数据库 2023-02-25 496浏览 0

最近在执行一个sql备份的还原后,发现系统的部分路径找不到,于是开始debug,最后发现,是由于备份的sql语句在还原时,反斜杠(\)被mysql吃掉了。本文对反斜杠和顺斜杠进行了测试,并给出了解决方案。具体描述如下:
执行下面的sql语句:

INSERT INTO `test` VALUES('123',   'document\101\1086.pdf',  '101/1086.swf');

结果是:

('123','document1011086.pdf','101/1086.swf')

反斜杠\被吃掉了。
顺斜杠/能够正常的插入表中。

如果我们确实想要存储反斜杠需要在sql语句中进行转义

INSERT INTO `test` VALUES('321',   'document\\101\\1086.pdf',  '101/1086.swf');

结果是:

('123','document\101\1086.pdf','101/1086.swf')

由于本系统不需要存储反斜杠。而且系统数据量还不是很大,于是我用notepad++ 将(\)替换为(/)即解决了这个问题。

继续浏览有关 数据库技术文章/教程 的文章
发表评论