MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
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 つの行。