文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式 Letter) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  INFORMATION_SCHEMA KEY_COLUMN_USAGE 表格

28.3.16 INFORMATION_SCHEMA KEY_COLUMN_USAGE 表格

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

    約束所參照的欄位名稱。

假設有兩個表格名稱為 t1t3,其定義如下:

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;

對於這兩個表格,KEY_COLUMN_USAGE 表格有兩列:

  • 一列的 CONSTRAINT_NAME = 'PRIMARY'TABLE_NAME = 't1'COLUMN_NAME = 's3'ORDINAL_POSITION = 1POSITION_IN_UNIQUE_CONSTRAINT = NULL

    對於 NDB:此值始終為 NULL

  • 另一列的 CONSTRAINT_NAME = 'CO'TABLE_NAME = 't3'COLUMN_NAME = 's2'ORDINAL_POSITION = 1POSITION_IN_UNIQUE_CONSTRAINT = 1