1. ホーム
  2. sql

[解決済み】テーブルの外部キーを一覧表示する方法

2022-04-05 11:04:04

質問

SQLを使用して、指定したテーブルのすべての外部キーを一覧表示する方法はありますか?私はテーブル名/スキーマを知っているので、それを差し込むことができます。

どのように解決するのですか?

information_schemaテーブルを経由して行うことができます。例えば

SELECT
    tc.table_schema, 
    tc.constraint_name, 
    tc.table_name, 
    kcu.column_name, 
    ccu.table_schema AS foreign_table_schema,
    ccu.table_name AS foreign_table_name,
    ccu.column_name AS foreign_column_name 
FROM 
    information_schema.table_constraints AS tc 
    JOIN information_schema.key_column_usage AS kcu
      ON tc.constraint_name = kcu.constraint_name
      AND tc.table_schema = kcu.table_schema
    JOIN information_schema.constraint_column_usage AS ccu
      ON ccu.constraint_name = tc.constraint_name
      AND ccu.table_schema = tc.table_schema
WHERE tc.constraint_type = 'FOREIGN KEY' AND tc.table_name='mytable';