ERROR 1068 (42000): Multiple primary key defined

新的一年学习新的bug。

数据库报错:

ERROR 1068 (42000): Multiple primary key defined

这个是因为你有两个主键:

如果你想只要一个主键ok:

alter TABLE t_product CHANGE sn sn int not null default 0;

先把表t_product 的字段sn默认初始化为0;


alter table t_product drop primary key;

删除表t_product 自定义的主键


ERROR 1068 (42000): Multiple primary key defined_第1张图片

但是我想设置自己的主键还是报错:

ERROR 1062 (23000): ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1' for key 'PRIMARY'

我改成:

alter TABLE t_product CHANGE sn sn int primary key auto_increment not null;

不为空,但是继续报错:

这才知道问题所在我的问题是sn这个字段有个值为0,所以才会不停报上面错误:

先把0改成1000,然后命令:alter TABLE t_product CHANGE sn sn int primary key auto_increment not null; 就可以了,接着改把字段值为1000改成0就ok拉

ERROR 1068 (42000): Multiple primary key defined_第2张图片

你可能感兴趣的:(ERROR 1068 (42000): Multiple primary key defined)