美文网首页
mysql 批量插入 获取所有自增ID

mysql 批量插入 获取所有自增ID

作者: 段义纬 | 来源:发表于2020-08-06 10:03 被阅读0次

1、没谷歌到php可以用的直接方法,不过可以获取批量插入的第一个自增id

2、假设批量插入的数据的自增ID是连续的,则可以通过第一个自增ID获取所有自增ID

3、测试批量插入的数据的自增ID是否是连续的,即插入过程中,单独插入其他数据,批量插入的自增ID是否连续

4、生成批量插入10w条数据的sql

$s=<<<SQL
INSERT INTO `XXXX` (
    `test_id`,
    `operate_id`,
    `create_time`
)
VALUES
%s;
SQL;
$a=array();
for ($i=0;$i<100000;$i++){
    $a[]="('".rand(10000000,99999999)."', 'system', NOW())";
}
print_r(sprintf($s,implode(',',$a)));
exit(1);

5、navicat打开两个页面,一个是上面的sql,一个是一条单独插入的sql(这条sql的test_id,要大于上面sql里随机数的最大值,方便查看)

先点击执行上面的sql(应该会执行20多秒吧),中间随机点击单条sql
筛选单条sql中的test_id,可以发现开始几条都是小于批量的自增ID的,在批量执行快结束的时候,插入的单条sql的自增ID是大于批量的,并没有单条sql的自增ID在批量中间,所以批量插入的自增ID是连续的

6、所以可以使用2中的方式获取批量插入的所有自增ID

相关文章

  • mysql 批量插入 获取所有自增ID

    1、没谷歌到php可以用的直接方法,不过可以获取批量插入的第一个自增id 2、假设批量插入的数据的自增ID是连续的...

  • 分布式

    分布式ID是如何实现的?都怎么使用的? 通过数据库,单次获取,每次插入一条记录获取自增id;批量获取,每次插入一条...

  • 【Python】插入记录并获取其自增ID(PyMysql)

    需求:一次插入多条,获取每条记录的自增 ID 注意:获取 ID 必须在 commit 之前,否则获取为 0

  • Mybatis[批量]插入返回自增ID

    简介 最近在业务功能中需要获取mybatis插入的数据并且返回插入数据的ID,去执行其他的操作,说来也很简单,在正...

  • 分布式主键

    mysql 自增id 自增id 缺点 :1 mysql insert 后 必须 SELECT LAST_INSE...

  • Hibernate基础

    一.批量插入,使用for循环可以方便的批量插入 二.对象状态 三.通过id获取对象 四.根据id把对象删除掉 五....

  • MySQL学习笔记-MySQL的自增ID会用完吗?

    MySQL的自增ID会用完吗? 话不多说,上代码,直接测: 首先,创建一个最简单的表,只包含一个自增 id,并插入...

  • last_insert_id的坑

    我们在使用mysql时,如果想获取最新的自增id,可使用 last_insert_id 进行获取。 不过使用这个的...

  • 数据库 ID 生成方案:号段模式

    还可以使用号段的方式来获取自增 ID,号段可以理解成批量获取。比如从数据库获取 ID 时,就可以批量获取多个 ID...

  • 【SQL】自增数列id的获取

    【MYSQL】自增数列id的获取 在数据库中,经常需要把获得的若干信息分成几部分插入到不同的表中,并通过外键的...

网友评论

      本文标题:mysql 批量插入 获取所有自增ID

      本文链接:https://www.haomeiwen.com/subject/qjfzrktx.html