Mysql

如何檢查與表相關的外鍵

  • June 4, 2020

如何在 MySql 中查看與表相關的外鍵?

背景:我想在 MySql 中刪除一個具有外鍵約束的表。當我這樣做時,我得到了這個:

Error Code: 1217. Cannot delete or update a parent row: a foreign key constraint fails

如何刪除與表相關的外鍵,留下其他表。

首先,以這種方式找出您的FOREIGN KEY約束名稱:

SELECT
 TABLE_NAME,
 COLUMN_NAME,
 CONSTRAINT_NAME,   -- <<-- the one you want! 
 REFERENCED_TABLE_NAME,
 REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
 REFERENCED_TABLE_NAME = 'My_Table';

WHERE如果您有多個My_Table在不同模式中呼叫的表,您也可以添加(到子句)。

AND TABLE_SCHEMA = 'My_Database';

然後您可以通過以下方式刪除命名約束:

ALTER TABLE My_Table DROP FOREIGN KEY My_Table_Constraint;

參考文獻:12

引用自:https://dba.stackexchange.com/questions/102371