奇怪的Mysql增量

use*_*290 2 mysql primary-key create-table auto-increment

Mysql是自动递增6。我不确定为什么或如何解决这些问题。

 create table new_table(tinyint unsigned primary key auto_increment, 
                        display_name varchar(50));
Run Code Online (Sandbox Code Playgroud)

我也用过

 create table new_table(int unsigned primary key auto_increment, 
                        display_name varchar(50));
Run Code Online (Sandbox Code Playgroud)

我认为我没有做任何奇怪的事情。

fan*_*nts 5

这是因为如果我正确理解您的评论,则您已将auto_increment_increment设置为6。

但是请注意,这可能是故意的。通常,这是在主-主复制中设置的。一个主机配置为使用偶数作为auto_increment值,另一主机配置为使用奇数。

要将其设置回增加1的通常行为,请执行以下操作:

SET GLOBAL auto_increment_increment = 1; /*or the SESSION value, depending on your needs*/
SET GLOBAL auto_increment_offset = 1; /*or SESSION value...*/
Run Code Online (Sandbox Code Playgroud)

另请注意,在auto_increment列中留有空隙并不重要。如果列溢出,请改用bigint。Auto_increment列也可能存在间隙,例如由于回滚事务。如果要对行进行严格的顺序编号,请不要依赖auto_increment!