的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
有以下定义的:
创建表T1(S1 INT,S2 INT,S3 INT,主键(S3))引擎= INNODB;创建表T3(S1 INT,S2 INT,S3 INT,键(S1),约束CO外键(S2)参考T1(S3))引擎= InnoDB;
对于这两个表来说,KEY_COLUMN_USAGE
Table有两行:
一排
constraint_name.
=“主”
,TABLE_NAME
=“t1”
,column_name.
=“s3”
,ORDINAL_POSITION
=1
,position_in_unique_constraint.
=空值
.为
NDB.
:这个值始终是空值
.一排
constraint_name.
='CO'
,TABLE_NAME
=“t3”
,column_name.
=“s2”
,ORDINAL_POSITION
=1
,position_in_unique_constraint.
=1
.