1. ホーム
  2. mysql

[解決済み] テーブルやカラムに対するすべての外部キーを確認するにはどうすればよいですか?

2022-03-15 18:09:14

質問

MySQL で、特定のテーブルと特定のカラムを指すすべての外部キー制約のリストを取得するにはどうすればよいですか?これは、次のものと同じです。 このオラクルの質問 ただし、MySQL の場合。

解決方法は?

テーブルの場合。

SELECT 
  TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM
  INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_SCHEMA = '<database>' AND
  REFERENCED_TABLE_NAME = '<table>';

カラムの場合

SELECT 
  TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM
  INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_SCHEMA = '<database>' AND
  REFERENCED_TABLE_NAME = '<table>' AND
  REFERENCED_COLUMN_NAME = '<column>';

基本的には、where節でREFERENCED_TABLE_NAMEをREFERENCED_COLUMN_NAMEに変更しました。