mysql插入时遇到一个很奇怪的问题

风格格 发布于 2015/09/23 17:08
阅读 240
收藏 0

开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>

多方定位之后发现问题如下
insert into `ggg`(`name`) values
('aa
-- aa
 aa'),
('bb;bb');

上面这行语句会报错   1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''bb' at line 3

 删除 bb后面的分号  “;”    就好了。
这条执行成功
insert into `ggg`(`name`) values
('aa
-- aa
 aa'),
('bbbb');
删除   “--”  也执行成功
insert into `ggg`(`name`) values
('aa
aa
 aa'),
('bb;bb');


何解。。
加载中
0
风格格
风格格
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
pantrick
pantrick

为啥不好好学学sql基础

;是默认语句结束符

-- 是注释sql开头

要插入请转义

风格格
风格格
可是什么删除其中一个就可以呢, 只删除 “;” 留着 “--” 是可以插入成功的,反之亦然。 同时存在就会报错
0
乌龟壳
乌龟壳
驱动没实现好,简单搜索分号作为断句,没有考虑上下文。建议程序里通过绑定变量的方式传值
风格格
风格格
这这这,略深奥啊。。 我是直接在navicat插入的,不是程序中
0
pleatu
pleatu
估计是客户端识别SQL的bug吧,单个值插入都没有问题~~
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部