今天在复习mysql的时候遇到一个问题:如何解除外键约束?,为什么按照资料上的字段写的代码报错
话不多说,如下:
create table test1(
id int primary key auto_increment,
num int
);
create table test2(
id int primary key auto_increment,
test1id int ,
constraint foreign key (test1id) references test1(id)
);
很简单的建两个测试表 test1为主表,test2为从表,外键约束是test1的主键id约束test2
如下是我在MySQL技能树截取的内容
取消主键约束的语法格式如下:
ALTER TABLE 表名 DROP FOREIGN KEY 外键名
在datagrip里面运行发生报错:
然而在datagrip里面代码提示如图:
再来看看表结构:
其中:
其中test2_ibfk_1(test1id)——>test1(id)描述了外键约束关系,所以运行
ALTER TABLE test2 DROP FOREIGN KEY test2_ibfk_1;
现在外键约束也应该被取消掉了
再来看test2表结构:
test2_ibfk_1(test1id)——>test1(id)已经没有了,再来看主表能否能否成功删除或者能否在从表中插入不是主表主键的test1id字段
都能成功运行 外键约束已经被解除