The INNODB_FOREIGN
table provides metadata about InnoDB
foreign keys.
For related usage information and examples, see Section 15.15.3, “InnoDB INFORMATION_SCHEMA Schema Object Tables”.
The INNODB_FOREIGN
table has these columns:
ID
The name (not a numeric value) of the foreign key index, preceded by the schema (database) name (for example, test/products_fk
).
FOR_NAME
The name of the child table in this foreign key relationship.
REF_NAME
The name of the parent table in this foreign key relationship.
N_COLS
The number of columns in the foreign key index.
TYPE
A collection of bit flags with information about the foreign key column, ORed together. 0 = ON DELETE/UPDATE RESTRICT
, 1 = ON DELETE CASCADE
, 2 = ON DELETE SET NULL
, 4 = ON UPDATE CASCADE
, 8 = ON UPDATE SET NULL
, 16 = ON DELETE NO ACTION
, 32 = ON UPDATE NO ACTION
.
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_FOREIGN\G
*************************** 1. row ***************************
ID: test/fk1
FOR_NAME: test/child
REF_NAME: test/parent
N_COLS: 1
TYPE: 1
You must have the PROCESS
privilege to query this table.
Use the INFORMATION_SCHEMA
COLUMNS
table or the SHOW COLUMNS
statement to view additional information about the columns of this table, including data types and default values.