我有大约100,000行唯一数据。客户说他想要一个名为id
的列是auto_incrementing和主键。现在,它充满了0。我到底该怎么做?
当我尝试将其设置为auto_increment时,MySQL表示该列必须是主要的,并且只能有1个auto_increment列。
当我尝试将其设置为主键时,它会显示重复的条目,因为该列中的所有行都包含“0”。
答案 0 :(得分:1)
我建议删除ID列并重新创建它,如下所示:
create table test (id int, name varchar(50));
insert into test values (0, 'john'), (0, 'matt'), (0, 'tom');
alter table test add primary key(id);
ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'
alter table test drop id;
alter table test add id int primary key auto_increment;
select * from test;
+------+----+
| name | id |
+------+----+
| john | 1 |
| matt | 2 |
| tom | 3 |
+------+----+
首先备份您的数据!