Probleem:
U wilt de namen van de beperkingen in een tabel in MySQL vinden.
Voorbeeld:
We willen de namen van de beperkingen weergeven in de tabel student
.
Oplossing:
SELECT TABLE_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME FROM information_schema.table_constraints WHERE table_name='student';
Hier is het resultaat:
TABLE_NAME | CONSTRRAINT_TYPE | CONSTRRAINT_NAME |
---|---|---|
student | PRIMAIRE SLEUTEL | PRIMAIR |
student | UNIEK | persoonlijk_nummer |
student | BUITENLANDSE SLEUTEL | student_ibfk_1 |
student | CONTROLEER | student_chk_1 |
Discussie:
Gebruik de weergave table_constraints
in het information_schema
schema. Deze weergave bevat veel kolommen, maar de belangrijkste zijn table_name
, constraint_type
, en constraint_name
. De kolom table_name geeft u de naam van de tabel waarin de beperking is gedefinieerd, en de kolom constraint_name
bevat de naam van de beperking. De kolom constraint_type
geeft het type beperking aan:PRIMARY KEY
voor het primaire sleuteltype, FOREIGN KEY
voor het externe sleuteltype, UNIQUE
voor de unieke waarden, en CHECK
voor de beperkingscontrole. In ons voorbeeld ziet u de beperking met de naam PRIMARY
voor de primaire sleutel in de student
tafel. De constraint_type
kolom geeft u informatie over het type van elke beperking; voor de primaire sleutel is dit PRIMARY KEY
.