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_CONSTRAINTNULLдля уникальных и первичных ключей. Для внешних ключей этот столбец представляет порядковый номер в ключе таблицы, на которую ссылается внешний ключ. -
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.