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)
我认为我没有做任何奇怪的事情。
这是因为如果我正确理解您的评论,则您已将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!