[SQL ] MySQL foreign key怎麼修改
資料庫名稱: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://www.ptt.cc/bbs/Database/M.1653376245.A.51F.html
※ 編輯: silver0314 (49.216.168.105 臺灣), 05/24/2022 15:46:05
Database 近期熱門文章
PTT數位生活區 即時熱門文章