Mysql 主键是否可能不是自动递增的?

Mysql 主键是否可能不是自动递增的?,mysql,sql,insert,auto-increment,Mysql,Sql,Insert,Auto Increment,我试图在已经有3行的表中插入一个元素 它是一个名为usuarios=[id(主,自动递增),fid,名,姓..。] 因此已经有3行id为:0,1,2 当我试图执行这个查询时(注意我没有设置id属性的值) 我得到这个错误: Duplicate entry '0' for key 1 额外:我不知道这3项是如何插入的(如果通过接口,通过控制台查询,…) 所以问题是,我如何确保主键是自动递增的,如果不是;如何设置?(这能解决问题吗?如果您有权更改表格,您应该能够使用此语句将其设置为自动递增: ALT

我试图在已经有3行的表中插入一个元素

它是一个名为usuarios=[id(主,自动递增),fid姓..。]

因此已经有3行id为:0,1,2

当我试图执行这个查询时(注意我没有设置id属性的值)

我得到这个错误:

Duplicate entry '0' for key 1
额外:我不知道这3项是如何插入的(如果通过接口,通过控制台查询,…)


所以问题是,我如何确保
主键是自动递增的,如果不是;如何设置?(这能解决问题吗?

如果您有权更改表格,您应该能够使用此语句将其设置为自动递增:

ALTER TABLE usuarios  modify id INT(11) NOT NULL AUTO_INCREMENT;
虽然我看到过一些关于bug的报告,建议放弃collumn并重新创建它,但如果由于某种原因上述方法不起作用的话。这些帖子中推荐的语法是:

ALTER TABLE usuarios  
         DROP COLUMN id;

ALTER TABLE usuarios  
         ADD COLUMN idINT(11) NOT NULL AUTO_INCREMENT FIRST;
警告:首先在测试数据库中执行此操作。如果表将其用作外键,则需要小心执行此操作。它最多也可能失败,最坏也可能破坏所有的关系


数据库中有大量的信息。

除了主键之外,没有其他键。您能提供此表的实际表架构吗?啊,是的,有各种主键。也许种子被重新放在这张桌子上了?所以它认为下一个自动增量id应该是零…这就是我要说的。此sql命令重置初始值:ALTER TABLE tbl AUTO_INCREMENT=0;我对表进行了sql导出,它不是自动递增的。所以现在我需要知道如何将id设置为auto_increment=3,David Stratton给出了一个答案,但返回了错误。如果您想从3开始,那么在auto_increment之后添加“=3”。(第一个查询)您的SQL语法中有一个错误;检查与您的MySQL服务器版本对应的手册,了解第1行“=3”附近使用的正确语法,知道为什么吗?我使用的是root用户,我认为“=3”不正确。我加上它是因为杰里米·古德尔的便条。我现在没有一个MySql数据库来测试它,但是根据我阅读的文档,“=3”在该语句中是不正确的。如果我没有弄错的话,您可以使用上面的第一条语句,后面是ALTER TABLE usuarios AUTO_INCREMENT=2;这会将增量onteh表格重置为当前值2,因此插入的下一条记录将为3。对不起,我的强项是SQL Server。我在业余时间学习MySql,所以我很虚弱。我正在边走边学习。如果上述注释中的更正有效,则这篇文章应归功于:
ALTER TABLE usuarios  
         DROP COLUMN id;

ALTER TABLE usuarios  
         ADD COLUMN idINT(11) NOT NULL AUTO_INCREMENT FIRST;