information_schema.referential_constraints 表用于查看外键约束
1、information_schema.referential_constraints表的常用列:
1、constraint_schema :约束(外键)所在的库名
2、constraint_name :约束名(外键名)
3、unique_constraint_schema :被引用约束所在库名
4、unique_constraint_name :被引用约束名
2、例子:
1、定义一对有外键约束的表:
create tableteacher(
idint not nullauto_increment,
namevarchar(4),constraint pk__teacher primary key(id),constraint ix__teacher__name unique index(name))
engine=innodb default char setutf8;create tablestudent(
idint not nullauto_increment,
namevarchar(4),
teacher_idint not null,
teacher_namevarchar(4),constraint pk__student primary key(id),constraint fk__student__id foreign key (teacher_id ) referencesteacher(id),constraint fk__student__teacher_name foreign key (teacher_name) references teacher(name) on delete no action on update cascade)
engine=innodb default char set utf8;
2、查看外键约束
select * frominformation_schema.referential_constraints \G*************************** 1. row ***************************CONSTRAINT_CATALOG: def
CONSTRAINT_SCHEMA: tempdb
CONSTRAINT_NAME: fk__student__id
UNIQUE_CONSTRAINT_CATALOG: def
UNIQUE_CONSTRAINT_SCHEMA: tempdb
UNIQUE_CONSTRAINT_NAME:PRIMARYMATCH_OPTION: NONE
UPDATE_RULE:RESTRICTDELETE_RULE:RESTRICTTABLE_NAME: student
REFERENCED_TABLE_NAME: teacher*************************** 2. row ***************************CONSTRAINT_CATALOG: def
CONSTRAINT_SCHEMA: tempdb
CONSTRAINT_NAME: fk__student__teacher_name
UNIQUE_CONSTRAINT_CATALOG: def
UNIQUE_CONSTRAINT_SCHEMA: tempdb
UNIQUE_CONSTRAINT_NAME: ix__teacher__name
MATCH_OPTION: NONE
UPDATE_RULE:CASCADEDELETE_RULE: NO ACTION
TABLE_NAME: student
REFERENCED_TABLE_NAME: teacher