作者silver0314 (吾要失态了!)
看板Database
标题[SQL ] MySQL foreign key怎麽修改
时间Tue May 24 15:10:43 2022
资料库名称: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
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.216.168.105 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1653376245.A.51F.html
※ 编辑: silver0314 (49.216.168.105 台湾), 05/24/2022 15:46:05