数据库名称:My SQL
数据库版本:8.0.29
内容/问题描述:
数据库小白想问
两个表用foreign key 设定之后要怎么修改呢?
我原本写 on delete cascade
后来想了想好像应该改成 set null
查了一下没有看到相关的说明(还是我的关键字不正确= =)
想询问如果已经设定好foreign key 要怎么修改
Q1:移除foreign key要怎么做
Q2:不移除,单纯更改成删除/更新后的作动
alter table `国内厂商资料表`
add foreign key(`联络人ID`)
references`国内厂商联络人资料表`(`联络人ID`) on delete cascade;
alter table `国内厂商资料表`
drop foreign key`联络人ID`;
:显示1091
更:
Q1已解决
找到原因了,因为foreign key没有被定义名称会被自动标名称
用show create TABLE `国内厂商资料表`;找到key被定义的名称为`国内厂商资料表_ibfk
_1`
alter table `国内厂商资料表`
drop foreign key`国内厂商资料表_ibfk_1`;
成功移除foreign key
于是有了新问题
》Q:那要怎么直接把foreign key 设定为栏名QQ