Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2530983
  • 博文数量: 245
  • 博客积分: 4125
  • 博客等级: 上校
  • 技术积分: 3113
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-25 23:56
文章分类

全部博文(245)

文章存档

2015年(2)

2014年(26)

2013年(41)

2012年(40)

2011年(134)

2010年(2)

分类: Mysql/postgreSQL

2012-08-22 15:16:13

最近在执行一个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++ 将(\)替换为(/)即解决了这个问题。

参考:
阅读(9959) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~