是否可以将其他用户插入多值插入的中间?
通过多值插入我的意思是:
https://mariadb.com/kb/en/mariadb/how-to-quickly-insert-data-into-mariadb/#multi-value-inserts
我要问的原因是确保多值插入的自动增量值是串行的,而另一个插入不能在它们中间插入一些值。
答案 0 :(得分:0)
并且另一个插入不能在它们中间插入一些值
没有涉及表格锁定,所以你不能假设这一点。
我要问的原因是确保多值插入的自动增量值是串行的
为什么?它们只需要是唯一的,由数据库处理。如果您依赖于值的顺序,那么在某些时候您的架构/设计看起来是错误的。
答案 1 :(得分:0)
根据
https://mariadb.com/kb/en/mariadb/auto_increment-handling-in-xtradbinnodb/
对于XtraDB和InnoDB存储引擎:
innodb_autoinc_lock_mode服务器系统变量确定自动增量的锁定模式。
和
连续锁定模式
由innodb_autoinc_lock_mode = 1设置,连续锁定模式为所有批量INSERT(例如LOAD DATA或INSERT ... SELECT)保存表级锁,直到语句结束。对于简单的INSERT,不保存表级锁。相反,使用轻量级互斥体可以更好地扩展。这是默认设置。