文章内容

2025/2/7 18:51:32,作 者: 黄兵

MySQL 检查表有哪些外键约束

最近需要删除一张表的数据,但是这张表存在外键约束,删除的时候会出现:

MySQLdb.IntegrityError: (1217, 'Cannot delete or update a parent row: a foreign key constraint fails')

这个错误,主要就是外键约束导致的。

我们如何查询出此表的外键约束呢?

具体 SQL 代码如下:

SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME 
FROM information_schema.KEY_COLUMN_USAGE 
WHERE REFERENCED_TABLE_NAME = 'table_name';

这会列出所有依赖 table_name 表的外键关系。

出现出来之后,我们逐一删除其他表中外键关联的数据,最后删除此表中的数据,就可以了。

分享到:

发表评论

评论列表