在数据库的所有表、行和列中搜索已删除表的引用 ID

问题描述

我在我的数据库中创建了一个表,然后删除了整个表。但现在我得到了该表 id 的外键约束错误。因此,我无法在本地为我的应用更新任何其他内容

我的数据库中有 400 多个表,其中包含数千条记录。

如何在所有当前表中找到已删除表的引用 ID?

解决方法

可以尝试在系统数据库information_schema中查找所有被删除表的引用表:

SELECT 
  kcu.TABLE_NAME,kcu.CONSTRAINT_NAME,kcu.COLUMN_NAME,kcu.REFERENCED_TABLE_NAME,kcu.REFERENCED_COLUMN_NAME
FROM information_schema.KEY_COLUMN_USAGE kcu
WHERE kcu.REFERENCED_TABLE_SCHEMA = 'YourDatabaseName' AND 
      kcu.REFERENCED_TABLE_NAME = 'YourDeletedTableName'
,

您可以在 mysql 工作台的整个架构(DB)上搜索引用的列名,您将能够找到所有引用