【发布时间】:2021-05-07 22:33:02
【问题描述】:
我在 MySQL V5.7.28 中创建了一个表,其中 PK 初始值为 50,并以 10 的步长增加。例如50、60、70 等。我的代码是:
Set Session auto_increment_increment=10;
Create Table Dept (
DeptNo Integer NOT NULL auto_increment,
DName Varchar(45),
Primary Key (DeptNo)
) AUTO_INCREMENT=50;
我在表格中插入了 3 行,然后得到
51, Accounting
61, Sales
71, Tax
增量大小是正确的(10),但初始值比我预期的高 1。
如果我打开另一个会话,请在没有“Set Session auto_increment_increment=10;”的情况下重新运行上述代码,我会得到预期的结果
50, Accounting
51, Sales
52, Tax
这是正确的初始值 50,但步长是 1 而不是我计划使用的 10 I。
设置 auto_increment_increment 似乎会使 auto_increment 字段的初始值增加 1。
对我做错了什么有什么想法吗? 非常感谢,
【问题讨论】:
-
自动递增列默认从 1 开始。这有一个很大的优势,即您永远不会有 Id=0 的行,因此通过请求 Id=null 的行或您可以插入Id=null 并且数据库将自动使用下一个自动增量值。
标签: mysql auto-increment