title: REFERENTIAL_CONSTRAINTS
summary: 了解 information_schema 表 REFERENTIAL_CONSTRAINTS。
REFERENTIAL_CONSTRAINTS
REFERENTIAL_CONSTRAINTS 表提供 TiDB 表之间 FOREIGN KEY 关系的信息。请注意,目前 TiDB 不强制进行 FOREIGN KEY 约束,也不执行 ON DELETE CASCADE 等操作。
USE information_schema;DESC referential_constraints;
+---------------------------+--------------+------+------+---------+-------+| Field | Type | Null | Key | Default | Extra |+---------------------------+--------------+------+------+---------+-------+| CONSTRAINT_CATALOG | varchar(512) | NO | | NULL | || CONSTRAINT_SCHEMA | varchar(64) | NO | | NULL | || CONSTRAINT_NAME | varchar(64) | NO | | NULL | || UNIQUE_CONSTRAINT_CATALOG | varchar(512) | NO | | NULL | || UNIQUE_CONSTRAINT_SCHEMA | varchar(64) | NO | | NULL | || UNIQUE_CONSTRAINT_NAME | varchar(64) | YES | | NULL | || MATCH_OPTION | varchar(64) | NO | | NULL | || UPDATE_RULE | varchar(64) | NO | | NULL | || DELETE_RULE | varchar(64) | NO | | NULL | || TABLE_NAME | varchar(64) | NO | | NULL | || REFERENCED_TABLE_NAME | varchar(64) | NO | | NULL | |+---------------------------+--------------+------+------+---------+-------+11 rows in set (0.00 sec)
CREATE TABLE test.parent (id INT NOT NULL AUTO_INCREMENT,PRIMARY KEY (id));CREATE TABLE test.child (id INT NOT NULL AUTO_INCREMENT,name varchar(255) NOT NULL,parent_id INT DEFAULT NULL,PRIMARY KEY (id),CONSTRAINT fk_parent FOREIGN KEY (parent_id) REFERENCES parent (id) ON UPDATE CASCADE ON DELETE RESTRICT);SELECT * FROM referential_constraints\G
*************************** 1. row ***************************CONSTRAINT_CATALOG: defCONSTRAINT_SCHEMA: testCONSTRAINT_NAME: fk_parentUNIQUE_CONSTRAINT_CATALOG: defUNIQUE_CONSTRAINT_SCHEMA: testUNIQUE_CONSTRAINT_NAME: PRIMARYMATCH_OPTION: NONEUPDATE_RULE: CASCADEDELETE_RULE: RESTRICTTABLE_NAME: childREFERENCED_TABLE_NAME: parent1 row in set (0.00 sec)