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です。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2023 PingCAP. All Rights Reserved.