ChaoQun

正在慢慢成长的程序猿

MySQL 修改被外键约束的列

前言

为啥我需要修改已经被外键约束的表?
有的时候,建表时考虑不够仔细,导致有的时候突然需要为一张表进行一些更改,如:增加一列属性;将主键设为自增属性等。
数据库处理这种东西时,不让你进行修改,因为这个操作违反了外键约束,破坏了数据库完整性。所以这个修改的行为会被DBMS(数据库管理系统)给阻止。

如何做?

那么我们必须修改怎么办?可以先取消外键,修改完后再加回来。当然这也是可以的,虽然比较费事。
mysql提供了一个方法,临时关闭外键约束,当修改完成之后再将外键约束加回来。
讲你需要的操作放在两个语句之间:

SET FOREIGN_KEY_CHECKS = 0;

/* DO WHAT YOU NEED HERE */

SET FOREIGN_KEY_CHECKS = 1;

举例

如下图所示,我需要为这列增加自增的属性,但是这列已经被其他表引为外键,所以直接修改会出错,系统会阻止你进行修改。

这里写图片描述

这时,我们先勾选自增,然后点击Apply。
这里写图片描述

增加刚才的两行
这里写图片描述

最后再次提交,便可以成功执行,而且之后外键约束依然可以使用。
这里写图片描述

阅读更多
版权声明:本文为博主原创文章,转载时应附上本文链接。 如有其他任何问题需要交流或帮助,请邮件联系博主 mcoder2014@sina.com https://blog.csdn.net/jcq521045349/article/details/54313775
个人分类: 日常学习
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

MySQL 修改被外键约束的列

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭