La table KEY_COLUMN_USAGE
décrit les
contraintes sur les colonnes.
Nom standard | Nom SHOW |
Remarques |
CONSTRAINT_CATALOG |
NULL |
|
CONSTRAINT_SCHEMA |
||
CONSTRAINT_NAME |
||
TABLE_CATALOG |
||
TABLE_SCHEMA |
||
TABLE_NAME |
||
COLUMN_NAME |
||
ORDINAL_POSITION |
||
POSITION_IN_UNIQUE_CONSTRAINT |
Notes :
Si la contrainte est une clé étrangère, alors c'est la colonne de la clé étrangère, et non pas la colonne que la clé étrangère référence.
La valeur de ORDINAL_POSITION
est la
position de la colonne dans la contrainte, et non pas la
position de la colonne dans la table. Les positions des
colonnes commencent à 1.
La valeur de
POSITION_IN_UNIQUE_CONSTRAINT
est
NULL
pour les contraintes unique et clé
primaire. Pour les contraintes de clé étrangère, c'est la
position ordinale dans la clé de la table qui est
référencée.
Par exemple, supposez que vous ayez les deux tables
t1
et t3
, avec les
définitions suivantes :
CREATE TABLE t1 ( s1 INT, s2 INT, s3 INT, PRIMARY KEY(s3) ) ENGINE=InnoDB; CREATE TABLE t3 ( s1 INT, s2 INT, s3 INT, KEY(s1), CONSTRAINT CO FOREIGN KEY (s2) REFERENCES t1(s3) ) ENGINE=InnoDB;
Pour ces deux tables, la table
KEY_COLUMN_USAGE
a deux lignes :
Une ligne avec
CONSTRAINT_NAME
='PRIMARY',
TABLE_NAME
='t1',
COLUMN_NAME
='s3',
ORDINAL_POSITION
=1,
POSITION_IN_UNIQUE_CONSTRAINT
=NULL.
Une ligne avec CONSTRAINT_NAME
='CO',
TABLE_NAME
='t3',
COLUMN_NAME
='s2',
ORDINAL_POSITION
=1,
POSITION_IN_UNIQUE_CONSTRAINT
=1.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.