gpt4 book ai didi

mysql - MySQL 多行插入是否获取连续的自动增量 ID?

转载 作者:可可西里 更新时间:2023-11-01 06:32:09 26 4
gpt4 key购买 nike

我认为这是真的,但我还没有在网上找到任何可以证实的东西。我可以使用 last_insert_id() 获取为自动增量字段生成的第一个 ID,但是我可以假设下一个记录将具有顺序 ID 吗?或者另一个用户是否可以获取一个 ID,以便生成的 ID 不是连续的?

示例:插入 mytable (asdf, qwer) 值 (1,2), (3,4), (5,6), ... , (10000,10001);

如果 mytable 有一个自增列,如果两个用户同时运行这条语句,一个用户会抓取 10000 个连续 ID,另一个用户会抓取接下来的 10000 个连续 ID 吗?数百个用户怎么样?

谢谢。

最佳答案

这取决于使用的存储引擎。

  • MyISAM 保证插入的行具有顺序 ID,因为在插入过程中持有表级锁。
  • InnoDB:除非 innodb_autoinc_lock_mode 设置为 interleaved (2),否则插入的行将具有顺序 ID。默认情况下,InnoDB 从 5.1 开始以 consecutive 模式运行,之前以 traditional 模式运行。

有关 innodb_autoinc_lock_mode 选项的更多信息,请参阅 13.6.4.3. AUTO_INCREMENT Handling in InnoDB

关于mysql - MySQL 多行插入是否获取连续的自动增量 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8481421/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com