开发者社区> 问答> 正文

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

多方定位之后发现问题如下
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');


何解。。

展开
收起
爱吃鱼的程序员 2020-06-12 11:02:00 380 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    有人吗<spanstyle="font-size:13.3333330154419px;line-height:18.1818180084229px;">有人吗<spanstyle="font-size:13.3333330154419px;line-height:18.1818180084229px;">有人吗

    为啥不好好学学sql基础

    ;是默认语句结束符

    --是注释sql开头

    要插入请转义

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

    2020-06-12 11:02:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像