今天在做实训项目的时候遇到了mysql怎么删除主键的问题,搞了挺久的QAQ.
首先我想直接删除主键alter table table_name drop primary key但是无法成功,原因是有foreign key约束,所以先要把foreign key 约束给删了。
![](https://i-blog.csdnimg.cn/blog_migrate/3f69b3a330d7768cd06eadf3837d13e7.png)
接下来的问题就是foreign key是什么?网上查了是alter table table_name drop foreign key constraint_name,要解决的问题是constraint_name是什么?
show create table语句可以查看约束名称.
![](https://i-blog.csdnimg.cn/blog_migrate/d13b50a27807c265a6ac90cf8c10a714.png)
上图foreign key是家庭成员_ibfk_1,我一开始以为是户头,试了好多次QAQ.然后通过上面的语句成功删除了约束。
![](https://i-blog.csdnimg.cn/blog_migrate/f3915819e53f8c407c7477e3f32176f0.png)
接着就可以删除主键了.
![](https://i-blog.csdnimg.cn/blog_migrate/4ca3ea5e3a76d983b3e408fee43af179.png)