MySQL数据库存储的路径反斜杠“\“消失了
1、问题概述?
在将路径存入数据库的时候,很多人遇到了如下问题:
insert into student(name,imagepath)values("萧十一郎","E:\projectresources\image\测试图片12312.png")
但是存储到数据库后,数据变成了如下信息:
E:projectresourcesimage测试图片12312.png
问题:路径中的\消失了,主要原因是window中识别的路径是//或者/
如:E:/projectresources/image/测试图片12312.png 或 E:/projectresources/image/测试图片12312.png而/会被当成转义字符,所以消失了。
场景说明:
E:\projectresources\image\测试图片12312.png
2、常用解决办法
1、直接修改MySQL的存储规则--不推荐
一般不推荐:可能会造成其他如正则表达式,数据导出、转移等问题。
会话级别,会话关闭后不生效
SET SESSION sql_mode = CONCAT_WS(',', @@sql_mode, 'NO_BACKSLASH_ESCAPES');全局修改
SET GLOBAL sql_mode = CONCAT_WS(',', @@GLOBAL.sql_mode, 'NO_BACKSLASH_ESCAPES');2、直接替换路径--推荐用法
在修改前转移你自己的路径
如你的路径如下:
以下代码是python,你使用相关语言就行了。
path = "E:/projectresources/image/测试图片12312.png " path = path.replace("\\","/")