10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 本手册下载 本手册节选

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

    对于唯一和主键约束。对于外键约束,此列是被引用表的键中的序号位置。

  • REFERENCED_TABLE_SCHEMA

    约束引用的模式(数据库)的名称。

  • REFERENCED_TABLE_NAME

    约束引用的表的名称。

  • REFERENCED_COLUMN_NAME

    约束引用的列的名称。

假设有两个表名t1而且t3有以下定义:

CREATE TABLE t1 (s1 INT, s2 INT, s3 INT, PRIMARY KEY(s3))CREATE TABLE t3 (s1 INT, s2 INT, s3 INT, KEY(s1), CONSTRAINT CO FOREIGN KEY(s2) REFERENCES t1(s3))

对于这两个表,KEY_COLUMN_USAGE表有两行:

  • 一行与CONSTRAINT_NAME“主”TABLE_NAME“t1”COLUMN_NAME“s3”ORDINAL_POSITION1POSITION_IN_UNIQUE_CONSTRAINT

  • 一行与CONSTRAINT_NAME“有限公司”TABLE_NAME“t3”COLUMN_NAME“s2”ORDINAL_POSITION1POSITION_IN_UNIQUE_CONSTRAINT1