Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So finden Sie den Namen einer Einschränkung in MySQL

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 .