MYSQL主键自增是否可以从0开始

魔术世界中文版 2013-05-20 11:00:36
MYSQL的主键自增id是从1开始增加的。
我需要从id从0开始增加
我尝试了以下方法,首先不设置主键自增

create table XXX(
id int(10) not null ,
K varchar(20) not null,
primary key(id)
)
insert into XXX values(0,'XXX') //插入id为0的数据
alter table XXX change id id int auto_increment//设置主键自增,结果刚才id为0的数据被强制置1

不知道大家有没有方法使id从0开始增加。
...全文
2650 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2013-05-20
  • 打赏
  • 举报
回复
· NO_AUTO_VALUE_ON_ZERO NO_AUTO_VALUE_ON_ZERO影响AUTO_INCREMENT列的处理。一般情况,你可以向该列插入NULL或0生成下一个序列号。NO_AUTO_VALUE_ON_ZERO禁用0,因此只有NULL可以生成下一个序列号。 如果将0保存到表的AUTO_INCREMENT列,该模式会很有用。(不推荐采用该惯例)。例如,如果你用mysqldump转储表并重载,MySQL遇到0值一般会生成新的序列号,生成的表的内容与转储的表不同。重载转储文件前启用NO_AUTO_VALUE_ON_ZERO可以解决该问题。
WWWWA 2013-05-20
  • 打赏
  • 举报
回复
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; 再运行你的SQL

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧