看板 Database 關於我們 聯絡資訊
資料庫名稱: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