如何在 MySql 中查看与表相关的外键?
背景:我想在 MySql 中删除一个具有外键约束的表。当我这样做时,我得到了这个:
Error Code: 1217. Cannot delete or update a parent row: a foreign key constraint fails
如何删除与表相关的外键,留下其他表。
首先,以这种方式找出您的FOREIGN KEY约束名称:
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在不同模式中调用的表,您也可以添加(到子句)。
WHERE
My_Table
AND TABLE_SCHEMA = 'My_Database';
然后您可以通过以下方式删除命名约束:
ALTER TABLE My_Table DROP FOREIGN KEY My_Table_Constraint;