代码:使用测试;
创建表Test_user(用户名VARCHAR(15),路径VARCHAR(100));
插入Test_user值(‘new1’,'C:\newfolder\one.xlsx');插入Test_user值(‘new1’,‘C:/new文件夹/one.xlsx’);
我使用.sql创建了一个包含内容的MySQLDump文件
文件名:表1.sql
如果存在test_user,则删除表;/*!40101 SET @saved_cs_client = @@character_set_client /;/!40101 SET character_set_client = utf8 /;创建表test_user ( Username varchar(15)默认空,path varchar(100)默认空) ENGINE=InnoDB默认值CHARSET=latin1;/!40101 SET character_set_client = @saved_cs_client */;
锁表test_user WRITE;/*!40000 ALTER test_user禁用键/;插入test_user值('new1','C:\newfolderone.xlsx'),('new1',‘C:/new文件夹/one.xlsx’);/!40000 ALTER test_user启用键*/;解锁表;
在上面的Table1.sql文件('new1','C:\newfolderone.xlsx')中,在one.xlsx未显示之前反斜杠,在尝试执行该文件时,我得到的输出如下
new1 C:ewfolderone.xlsx new2 C:/new文件夹/one.xlsx
如果它根本没有显示\,建议我如何解决它,以及像这个反斜杠这样的特殊字符会产生这样的错误。
提前谢谢..。
发布于 2017-03-21 14:38:09
您应该阅读字符串文字 in MySQL。
在这里,您将了解反斜杠字符用于转义一些特殊字符串,并且要在字符串中使用文字反斜杠(如Windows路径名中的反斜杠),则必须将它们加倍:
INSERT INTO test_user VALUES ('new1','C:\\newfolderone.xlsx');需要特殊处理的字符的完整列表位于上面的链接。
然而,最好让中级语言来处理这些问题。例如,在PHP中,您可以调用PDO::quote;其他平台和语言也提供类似的工具。
https://dba.stackexchange.com/questions/167735
复制相似问题