このページは機械翻訳したものです。
KEY_COLUMN_USAGE テーブルは、どのキーカラムに制約があるかを説明します。 このテーブルは式であり、カラムに関する情報のみを提供するため、関数キー部分に関する情報は提供しません。
KEY_COLUMN_USAGE テーブルには、次のカラムがあります:
CONSTRAINT_CATALOG制約が属するカタログの名前。 この値は常に
defです。CONSTRAINT_SCHEMA制約が属するスキーマ (データベース) の名前。
CONSTRAINT_NAME制約の名前。
TABLE_CATALOGテーブルが属するカタログの名前。 この値は常に
defです。TABLE_SCHEMAテーブルが属するスキーマ (データベース) の名前。
TABLE_NAME制約があるテーブルの名前。
COLUMN_NAME制約があるカラムの名前。
制約が外部キーの場合、これは外部キーのカラムで、外部キーが参照するカラムではありません。
ORDINAL_POSITION制約内のカラムの位置。テーブル内のカラムの位置ではありません。 カラムの位置には 1 から始まる番号が付けられています。
POSITION_IN_UNIQUE_CONSTRAINT一意制約および主キー制約用の
NULL。 外部キー制約の場合、このカラムは参照されるテーブルのキー内の順序位置です。REFERENCED_TABLE_SCHEMA制約によって参照されるスキーマの名前。
REFERENCED_TABLE_NAME制約によって参照されるテーブルの名前。
REFERENCED_COLUMN_NAME制約によって参照されるカラムの名前。
次の定義を持つt1 およびt3 という 2 つのテーブルがあるとします。
CREATE TABLE t1( s1 INT, s2 INT, s3 INT, PRIMARY KEY(s3)) ENGINE=InnoDB;CREATE TABLE t3( s1 INT, s2 INT, s3 INT, KEY(s1), CONSTRAINT CO FOREIGN KEY (s2) REFERENCES t1(s3)) ENGINE=InnoDB; これらの 2 つのテーブルに対し、KEY_COLUMN_USAGE テーブルには次の 2 つの行があります。
CONSTRAINT_NAME='PRIMARY'、TABLE_NAME='t1'、COLUMN_NAME='s3'、ORDINAL_POSITION=1、POSITION_IN_UNIQUE_CONSTRAINT=NULLを含む 1 つの行。NDBの場合: この値は常にNULLです。CONSTRAINT_NAME='CO'、TABLE_NAME='t3'、COLUMN_NAME='s2'、ORDINAL_POSITION=1、POSITION_IN_UNIQUE_CONSTRAINT=1を含む 1 つの行。