MySQL单条insert语句,插入多条数据记录

1.场景分析

     当mysql单条insert语句,插入多条数据记录,且以分号隔开;对于不同的mysql版本,有的可以执行成功,有的却直接报错com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException,这个是怎么导致的?可能有如下几个原因:

1.sql 语句中运用了mysql的关键字;

2.sql本身有问题,可以在navicat或workbench中验证下;

3.在高版本的mysql中,单条insert插入多条记录的情况,以多个insert分割开也有出现这个情况

2.实现方案

2.1 最常见的操作手段叠加inset

insert into user(name, age) values(xx,xxx);
insert into user(name, age) values(xx,xxx);
insert into user(name, age) values(xx,xxx);
insert into user(name, age) values(xx,xxx);
insert into user(name, age) values(xx,xxx);

但是对于这种写法,在高版本的mysql中就会出现com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException的报错,其实sql都是正常的

2.2 优化写法

insert into user(name, age) values(xx,xxx),(xx,xxx),(xx,xxx),(xx,xxx),(xx,xxx);

这样比多条insert语句效率和性能高,在处理多条插入比使用多条insert语句速度快,同时也不会出现上述报错。

猜你喜欢

转载自blog.csdn.net/zhangxing52077/article/details/108060341