Spec-Zone.ru › MySQL 5.7

24.3.12 Таблица 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

    Имя столбца, на который ссылается ограничение.

Предположим, что существуют две таблицы с именами t1 и t3, которые имеют следующие определения:

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 = 1, POSITION_IN_UNIQUE_CONSTRAINT = NULL.

  • Одна строка с CONSTRAINT_NAME = 'CO', TABLE_NAME = 't3', COLUMN_NAME = 's2', ORDINAL_POSITION = 1, POSITION_IN_UNIQUE_CONSTRAINT = 1.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/information-schema-key-column-usage-table.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API