Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment trouver le nom d'une contrainte dans MySQL

Problème :

Vous voulez trouver les noms des contraintes dans une table dans MySQL.

Exemple :

On veut afficher les noms des contraintes dans le tableau student .

Solution :

SELECT TABLE_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME
FROM information_schema.table_constraints
WHERE table_name='student';

Voici le résultat :

TABLE_NAME CONSTRAINT_TYPE CONSTRAINT_NAME
étudiant CLÉ PRIMAIRE PRIMAIRE
étudiant UNIQUE numéro_personnel
étudiant CLÉ ÉTRANGÈRE student_ibfk_1
étudiant VÉRIFIER student_chk_1

Discussion :

Utilisez la vue table_constraints dans le information_schema schéma. Cette vue contient beaucoup de colonnes, mais les plus importantes sont table_name , constraint_type , et constraint_name . La colonne table_name vous donne le nom de la table dans laquelle la contrainte est définie, et la colonne constraint_name contient le nom de la contrainte. La colonne constraint_type indique le type de contrainte :PRIMARY KEY pour le type de clé primaire, FOREIGN KEY pour le type de clé étrangère, UNIQUE pour les valeurs uniques, et CHECK pour la vérification des contraintes. Dans notre exemple, vous pouvez voir la contrainte nommée PRIMARY pour la clé primaire dans le student table. Le constraint_type colonne vous donne des informations sur le type de chaque contrainte ; pour la clé primaire, c'est PRIMARY KEY .