将InnoDB表中的AUTO_INCREMENT起始值设置为零?

Cha*_*iga 1 mysql sql innodb auto-increment

有没有让InnoDB的AUTO_INCREMENT字段从0开始计数而不是1

CREATE TABLE `df_mainevent` (
  `idDf_MainEvent` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`idDf_MainEvent`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)

Luk*_*sik 6

MySQL文档:

如果用户指定用于在INSERT AUTO_INCREMENT列NULL或0时,InnoDB将行仿佛没有被指定的值已与用于生成它的新值.

所以这意味着0是一个'特殊'值,类似于NULL.即使使用AUTO_INCREMENT = 0,也会将初始值设置为1.

与MySQL 5.0.3开始,InnoDB支持的AUTO_INCREMENT = N表选项在CREATE TABLE和ALTER TABLE语句,来设置初始计数器值或改变当前计数器值.由于本节前面讨论的原因,服务器重新启动会取消此选项的效果.