新的一年学习新的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 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拉