Mysql自动递增6.我不知道为什么或如何解决问题。
create table new_table(tinyint unsigned primary key auto_increment,
display_name varchar(50));
我也用过
create table new_table(int unsigned primary key auto_increment,
display_name varchar(50));
我认为我做的事情并不奇怪。
答案 0 :(得分: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...*/
另请注意,在auto_increment列中存在间隙并不是什么大问题。如果列溢出,请使用bigint。例如,由于回滚事务,Auto_increment列也可能存在间隙。如果想要对行进行严格的顺序编号,请不要依赖auto_increment!
答案 1 :(得分:0)
这应该是查询
CREATE TABLE `new_table` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`display_name` varchar(50),
PRIMARY KEY (`id`)
)
另外,要将自动增量设置为1,请使用
SET GLOBAL auto_increment_increment = 1;