Problem:
Sie möchten die Namen der Constraints in einer MySQL-Tabelle finden.
Beispiel:
Wir wollen die Namen der Constraints in der Tabelle student .
Lösung:
SELECT TABLE_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME FROM information_schema.table_constraints WHERE table_name='student';
Hier ist das Ergebnis:
| TABLE_NAME | CONSTRAINT_TYPE | CONSTRAINT_NAME |
|---|---|---|
| Schüler | PRIMÄRSCHLÜSSEL | PRIMÄR |
| Schüler | EINZIGARTIG | persönliche_nummer |
| Schüler | Fremdschlüssel | student_ibfk_1 |
| Schüler | ÜBERPRÜFEN | student_chk_1 |
Diskussion:
Verwenden Sie die Ansicht table_constraints im information_schema Schema. Diese Ansicht enthält viele Spalten, aber die wichtigsten sind table_name , constraint_type und constraint_name . Die Spalte table_name gibt Ihnen den Namen der Tabelle an, in der die Einschränkung definiert ist, und die Spalte constraint_name enthält den Namen der Einschränkung. Die Spalte constraint_type gibt die Art der Einschränkung an:PRIMARY KEY für den Primärschlüsseltyp FOREIGN KEY für den Fremdschlüsseltyp UNIQUE für die eindeutigen Werte und CHECK für die Constraint-Prüfung. In unserem Beispiel sehen Sie die Einschränkung namens PRIMARY für den Primärschlüssel im student Tisch. Der constraint_type Spalte gibt Ihnen Informationen über den Typ jeder Einschränkung; für den Primärschlüssel ist es PRIMARY KEY .