KEY_COLUMN_USAGE

KEY_COLUMN_USAGEの表は、主キー制約などの列のキー制約を示しています。

USE information_schema; DESC key_column_usage;
+-------------------------------+--------------+------+------+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------------------+--------------+------+------+---------+-------+ | CONSTRAINT_CATALOG | varchar(512) | NO | | NULL | | | CONSTRAINT_SCHEMA | varchar(64) | NO | | NULL | | | CONSTRAINT_NAME | varchar(64) | NO | | NULL | | | TABLE_CATALOG | varchar(512) | NO | | NULL | | | TABLE_SCHEMA | varchar(64) | NO | | NULL | | | TABLE_NAME | varchar(64) | NO | | NULL | | | COLUMN_NAME | varchar(64) | NO | | NULL | | | ORDINAL_POSITION | bigint(10) | NO | | NULL | | | POSITION_IN_UNIQUE_CONSTRAINT | bigint(10) | YES | | NULL | | | REFERENCED_TABLE_SCHEMA | varchar(64) | YES | | NULL | | | REFERENCED_TABLE_NAME | varchar(64) | YES | | NULL | | | REFERENCED_COLUMN_NAME | varchar(64) | YES | | NULL | | +-------------------------------+--------------+------+------+---------+-------+ 12 rows in set (0.00 sec)
SELECT * FROM key_column_usage WHERE table_schema='mysql' and table_name='user';
*************************** 1. row *************************** CONSTRAINT_CATALOG: def CONSTRAINT_SCHEMA: mysql CONSTRAINT_NAME: PRIMARY TABLE_CATALOG: def TABLE_SCHEMA: mysql TABLE_NAME: user COLUMN_NAME: Host ORDINAL_POSITION: 1 POSITION_IN_UNIQUE_CONSTRAINT: NULL REFERENCED_TABLE_SCHEMA: NULL REFERENCED_TABLE_NAME: NULL REFERENCED_COLUMN_NAME: NULL *************************** 2. row *************************** CONSTRAINT_CATALOG: def CONSTRAINT_SCHEMA: mysql CONSTRAINT_NAME: PRIMARY TABLE_CATALOG: def TABLE_SCHEMA: mysql TABLE_NAME: user COLUMN_NAME: User ORDINAL_POSITION: 2 POSITION_IN_UNIQUE_CONSTRAINT: NULL REFERENCED_TABLE_SCHEMA: NULL REFERENCED_TABLE_NAME: NULL REFERENCED_COLUMN_NAME: NULL 2 rows in set (0.00 sec)

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 :一意性制約と主キー制約は空です。外部キー制約の場合、この列は参照されるテーブルのキーの位置です。
  • REFERENCED_TABLE_SCHEMA :制約によって参照されるスキーマの名前。現在TiDBでは、外部キー制約を除いて、すべての制約におけるこの列の値はnilです。
  • REFERENCED_TABLE_NAME :制約によって参照されるテーブルの名前。現在TiDBでは、外部キー制約を除いて、すべての制約におけるこの列の値はnilです。
  • REFERENCED_COLUMN_NAME :制約によって参照される列の名前。現在TiDBでは、外部キー制約を除いて、すべての制約におけるこの列の値はnilです。

このページは役に立ちましたか?