首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >phpmyadmin :Din导入数据库后不获取主键上的auto_increment属性

phpmyadmin :Din导入数据库后不获取主键上的auto_increment属性
EN

Stack Overflow用户
提问于 2019-08-02 07:39:53
回答 1查看 1.4K关注 0票数 0

我在phpmyadmin中导入了一个数据库。

它是一个大小接近990 of的大型数据库。

但进口后我有麻烦了。

所有的键约束都存在,但是主键没有被设置为自动增量。

因此,当我在表中插入数据时,它会抛出重复的条目和主键冲突错误。

1062 -“主键”的重复条目“0”

这显然是因为在没有设置auto_increment的情况下插入0

我试图通过运行AUTO_INCREMENT来重置

ALTER TABLE users AUTO_INCREMENT=1001;

然后尝试检查id字段中的auto_increment,但是它给了我这个错误。

查询错误: 1062 - ALTER导致auto_increment重新排序,导致关键字“主”重复输入“1”

EN

回答 1

Stack Overflow用户

发布于 2019-08-02 07:59:28

你可以试试

  1. 检查索引和主键
  2. 移除索引和主键

ALTER TABLE `users ` DROP PRIMARY KEY

  1. 添加Auto_increment并添加主键

ALTER TABLE tablename AUTO_INCREMENT = 1

对于InnoDB,不能将auto_increment值设置为较低或等于最高当前索引。

请注意,不能将计数器重置为小于或等于已使用的任何值。对于MyISAM,如果值小于或>等于AUTO_INCREMENT列中当前的最大值,则将>值重置为当前最大值加1。对于InnoDB,如果值>小于列中的当前最大值,则不会发生错误,并且>不更改当前序列值。

所以,我们可以

ALTER TABLE `users` ADD `id` INT( 11 ) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST

希望它对你有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57321921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档