Problem:
Chcesz znaleźć nazwy ograniczeń w tabeli w MySQL.
Przykład:
Chcemy wyświetlić nazwy ograniczeń w tabeli student .
Rozwiązanie:
SELECT TABLE_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME FROM information_schema.table_constraints WHERE table_name='student';
Oto wynik:
| TABLE_NAME | CONSTRAINT_TYPE | CONSTRAINT_NAME |
|---|---|---|
| uczeń | KLUCZ PODSTAWOWY | PODSTAWOWA |
| uczeń | UNIKALNE | numer_osobisty |
| uczeń | KLUCZ OBCY | student_ibfk_1 |
| uczeń | SPRAWDŹ | student_chk_1 |
Dyskusja:
Użyj widoku table_constraints w information_schema schemat. Ten widok zawiera wiele kolumn, ale najważniejsze to table_name , constraint_type i constraint_name . Kolumna nazwa_tabeli podaje nazwę tabeli, w której zdefiniowane jest ograniczenie, a kolumna constraint_name zawiera nazwę ograniczenia. Kolumna constraint_type wskazuje typ ograniczenia:PRIMARY KEY dla typu klucza podstawowego FOREIGN KEY dla typu klucza obcego UNIQUE dla unikalnych wartości i CHECK do sprawdzenia ograniczeń. W naszym przykładzie widać ograniczenie o nazwie PRIMARY dla klucza podstawowego w student stół. constraint_type kolumna zawiera informacje o typie każdego ograniczenia; dla klucza podstawowego jest to PRIMARY KEY .