根据
http://stackoverflow.com/questions/6895679/mysqls-auto-increment-behavior-in-a-multiple-row-insert
MySQL 可以一次性插入多条,LAST_INSERT_ID() 返回的是所插入条目的第一条的 ID。问题是其余的 ID 能否保证是连续的?
下面有高手答复,在某种特殊的情况下,如果配置成 replicated multi-master setup 复制的多主库,则连接一个主库的插入会得到都是奇数,而另一个主库得到的都是偶数。对于普通情况,至少 InnoDB 的插入是原子的,并且同一个表的插入是队列的,保证两条插入所得的 ID 不会交错。但 MySQL 文档中并无明确说明。
所以我想实现的一次性得到多个连续 ID 的方案,就是如下这样插入多条
INSERT INTO seq_event_id (id) VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL)
然后用 LAST_INSERT_ID() 得到是所插入条目的第一条的 ID,再根据所插入的 ID 是连续的,就能知道每个 ID 了。
分享到:
相关推荐
一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 还是MYSQL的,一张表有还是有ID自增主键,用JDBC insert一条语句之内,怎么在JAVA...
java 利用 jdbc 向 mysql 数据库插入记录并返回插入记录生成的主键值
介绍了Java获取最后插入MySQL记录的自增ID值的3种方法,有需要的朋友可以参考需要
小A正在balabala写代码呢,DBA小B突然发来了一条消息,“快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久,在这样下去过不了多久主键就要超出范围了,插入就会失败,balabala……” ...
MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...
本代码,用python语句,实现了一次插入多条sql语句。希望能对大家带来帮助。
项目中经常会用到自增id,比如uid,下面为大家介绍下利用mysql事务特性实现并发安全的自增ID,感兴趣的朋友可以参考下
主要介绍了Python3 操作 MySQL 插入一条数据并返回主键 id的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
在mysql中很多朋友都认为字段为AUTO_INCREMENT类型自增ID值是无法修改,其实这样理解是错误的,下面介绍mysql自增ID的起始值修改与设置方法。通常的设置自增字段的方法:创建表格时添加: 代码如下:create table ...
mysql 数据库自增id 的总结.docx
是在vs中查询和插入MySQL语句如果表没有建立关系可以参考看看
MyBatis 3.2.6插入时候获取自增主键方法有两种,下面以以MySQL5.5为例通过两种方法给大家介绍mybatis获取自增主键的方法,一起看看吧
在将数据库从MSSQL迁移到MySQL的过程中,基于业务逻辑的要求,需要在MySQL的自增列插入0值。在MSSQL中是这样完成的: 代码如下: string sql;sql = ” set identity_insert dbo.AppUsers on ” + ” insert dbo....
主要介绍了mysql 一次向表中插入多条数据实例讲解的相关资料,需要的朋友可以参考下
Django2+ MySQL8 数据插入和查询 Django2+ MySQL8 数据插入和查询
主要给大家介绍了关于MySQL自增ID耗尽的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
通过C#调用CMD.exe,利用MySQL提供的数据库访问接口实现为表添加新的一列数据并给定默认值
面试官:”用过mysql吧,你们是用自增主键还是UUID?” 你:”用的是自增主键” 面试官:”为什么是自增主键?” 你:”因为采用自增主键,数据在物理结构上是顺序存储,性能最好,blabla…” 面试官:”那自增主键...
在 MySQL 中用很多类型的自增 ID,每个自增 ID 都设置了初始值。一般情况下初始值都是从 0 开始,然后按照一定的步长增加(一般是自增 1)。一般情况下,我们都是用int(11)来作为数据表的自增 ID,在 MySQL 中只要...