Problem:
Du ønsker at finde navnene på begrænsningerne i en tabel i MySQL.
Eksempel:
Vi ønsker at vise navnene på begrænsningerne i tabellen student
.
Løsning:
SELECT TABLE_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME FROM information_schema.table_constraints WHERE table_name='student';
Her er resultatet:
TABLE_NAME | CONSTRAINT_TYPE | CONSTRAINT_NAME |
---|---|---|
elev | PRIMÆR NØGLE | PRIMÆR |
elev | UNIKK | personligt_nummer |
elev | UDLANDS NØGLE | student_ibfk_1 |
elev | TJEK | student_chk_1 |
Diskussion:
Brug visningen table_constraints
i information_schema
skema. Denne visning indeholder mange kolonner, men de vigtigste er table_name
, constraint_type
, og constraint_name
. Kolonnen tabelnavn giver dig navnet på den tabel, hvori begrænsningen er defineret, og kolonnen constraint_name
indeholder navnet på begrænsningen. Kolonnen constraint_type
angiver typen af begrænsning:PRIMARY KEY
for den primære nøgletype, FOREIGN KEY
for fremmednøgletypen UNIQUE
for de unikke værdier og CHECK
til begrænsningskontrollen. I vores eksempel kan du se begrænsningen med navnet PRIMARY
for den primære nøgle i student
bord. constraint_type
kolonne giver dig information om typen af hver begrænsning; for den primære nøgle er det PRIMARY KEY
.