2012-02-20 56 views
0

时候当我试图在phpMyAdmin的列启用auto_increment,但我总是得到这个错误:#1062 - 重复进入“1”关键1使AUTO_INCREMENT

#1062 - Duplicate entry '1' for key 1 

有问题的列PK和INT。它已经有几行了。正因为如此,我试过如下:

ALTER TABLE Persons AUTO_INCREMENT=7 

这应该已经设置了自动递增7开始,所以跳过0〜6已经在该行中存在的......但它没有工作。或者那是理论。

我在做什么错?


更新:

我曾尝试在塔取出的PK指数和运行查询的列设置为NULL。一切都设置为NULL。我试着再加入auto increment,我得到了以下错误:#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key。我再次尝试添加一个PK索引,并获得以下#1062 - Duplicate entry '0' for key 1。哎呀。

回答

0

当尝试一个auto_increment添加到现有的表,你需要确保所有已经在表中的键值都是唯一的。

设置列值NULL应该工作。然后,mySQL将自动填充自动增量值。

+0

列,所以还是通过柱,并用'NULL's替换它,然后再试一次? – 2012-02-20 11:41:11

+0

@Django是啊,或者只是'UPDATE表SET列名= NULL' – 2012-02-20 11:45:53

+0

@Django是,与空更新表列(一定要删除键约束),然后创建自动增量主key.Mysql会为你做休息。 – rkosegi 2012-02-20 11:47:03

1

试试这个: alter table Persons modify id integer unsigned primary key auto_increment;

是ID感兴趣

+0

我会尝试这样做,但我只是解决了这一问题。感谢您的尝试。 – 2012-02-20 12:38:21

相关问题