找出外鍵引用和填充值
在資料庫模式中,通常存在透過外鍵引用其他表的表。要識別具有引用特定表和列的外鍵的表,以及這些外鍵包含資料的表,可以使用以下查詢:
SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'X' AND REFERENCED_COLUMN_NAME = 'X_id';
此查詢從KEY_COLUMN_USAGE 表中檢索資訊information_schema 資料庫,包含有關外鍵關係的元資料。透過過濾指定的 REFERENCED_TABLE_NAME (X) 和 REFERENCED_COLUMN_NAME (X_id) 上的結果,查詢會列出所有具有指向 X 表的 X_id 列的外鍵的表。
此外,要確保只有填充了外鍵的表包含鍵,查詢可以擴展為包含外鍵中非空值的檢查列:
SELECT t.TABLE_NAME, kcu.* FROM information_schema.KEY_COLUMN_USAGE kcu JOIN information_schema.TABLES t ON t.TABLE_SCHEMA = kcu.TABLE_SCHEMA AND t.TABLE_NAME = kcu.TABLE_NAME WHERE kcu.REFERENCED_TABLE_NAME = 'X' AND kcu.REFERENCED_COLUMN_NAME = 'X_id' ORDER BY t.TABLE_NAME;
此更新的查詢檢索表名稱以及外鍵元數據,確保結果中僅包含已填入外鍵的表。透過按表名稱對結果進行排序,輸出可以清楚顯示哪些表具有對指定表和列的外鍵引用,以及哪些表包含外鍵欄位中的資料。
以上是如何在資料庫中尋找外鍵引用及其填充值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!