MySQL中如何获取下一条插入的自增ID
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL中如何获取下一条插入的自增ID相关的知识,希望对你有一定的参考价值。
如果不考虑多连接影响而只是获取下一条自增id可以这样做: select max(id) 获取最大id 然后加1。如果你想根据此id插入数据就会有问题,因如果获取到最大id后如果另一个连接新增了一条数据就会出问题,标准做法是先插入数据然后获取插入的id mysql数据库可用:select last_insert_id()获取插入的id,就算另一个连接新增了一条数据select last_insert_id()也不会是插入的id值,而只是当前连接的插入的id值。 参考技术A 只有生成才能获取到啊mybatis批量插入,怎么返回生成的自增主键
我们项目组正好用到了这个,SEQ_ZONE为sequence,则mybatis配置文件如下: SELECT SEQ_ZONE.CURRVAL AS id from dual insert into TBL_ZONE (ID, NAME ) values (SEQ_ZONE.NEXTVAL, #name,jdbcType=VARCHAR ) 参考技术A 解决办法:1、升级Mybatis版本到3.3.1。
2、在Dao中不能使用@param注解。
3、Mapper.xml中使用list变量接受Dao中的集合。本回答被提问者采纳
以上是关于MySQL中如何获取下一条插入的自增ID的主要内容,如果未能解决你的问题,请参考以下文章
MySQL AutoIncrement--PXC集群批量插入操作获取自增ID异常问题