的KEY_COLUMN_USAGE
表描述了哪些键列有约束。该表不提供关于功能关键部分的信息,因为它们是表达式,而该表只提供关于列的信息。
的KEY_COLUMN_USAGE
Table有以下列:
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)) ENGINE=InnoDB;CREATE TABLE t3 (s1 INT, s2 INT, s3 INT, s1), CONSTRAINT CO FOREIGN KEY(s2), ENGINE=InnoDB;
这两张桌子KEY_COLUMN_USAGE
Table有两行:
一行与
CONSTRAINT_NAME
=“主”
,TABLE_NAME
=“t1”
,COLUMN_NAME
=“s3”
,ORDINAL_POSITION
=1
,POSITION_IN_UNIQUE_CONSTRAINT
=零
.为
NDB
:这个值总是零
.一行与
CONSTRAINT_NAME
=“有限公司”
,TABLE_NAME
=“t3”
,COLUMN_NAME
=“s2”
,ORDINAL_POSITION
=1
,POSITION_IN_UNIQUE_CONSTRAINT
=1
.