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 .