mysql删除主键报错ERROR 1833 (HY000)

1.输入修改取消主键自增语句:(表中数据需要删除才能进行操作)

alter table sites modify id int;
因为有外键约束,所以此处会报错:
ERROR 1833 (HY000): Cannot change column 'id': used in a foreign key constraint siteurls_ibfk_1 of table 'sites.siteurls';

注意上面的sites.siteurls和siteurls_ibfk_1,分别告诉了哪张表和字段名.
2.输入删除外键语句:

将对应的表中的外键字段删除:
alter table siteurls drop foreign key siteurls_ibfk_1;
再输入取消自增语句:
alter table sites modify id int;
然后将删除主键语句输入即可:
alter table sites drop primary key;

相应扩展语句:

设置主键:ALTER TABLE sites ADD PRIMARY KEY(id);
添加外键:ALTER TABLE siteurls ADD FOREIGN KEY(id) REFERENCES sites(id); 

你可能感兴趣的:(mysql)