Problém:
Chcete najít názvy omezení v tabulce v MySQL.
Příklad:
Názvy omezení chceme zobrazit v tabulce student .
Řešení:
SELECT TABLE_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME FROM information_schema.table_constraints WHERE table_name='student';
Zde je výsledek:
| TABLE_NAME | CONSTRAINT_TYPE | CONSTRAINT_NAME |
|---|---|---|
| student | PRIMÁRNÍ KLÍČ | PRIMÁRNÍ |
| student | JEDINEČNÉ | personal_number |
| student | CIZI KLÍČ | student_ibfk_1 |
| student | ZKONTROLUJTE | student_chk_1 |
Diskuse:
Použijte zobrazení table_constraints v information_schema schéma. Toto zobrazení obsahuje mnoho sloupců, ale nejdůležitější jsou table_name , constraint_type a constraint_name . Sloupec název_tabulky uvádí název tabulky, ve které je omezení definováno, a sloupec constraint_name obsahuje název omezení. Sloupec constraint_type označuje typ omezení:PRIMARY KEY pro typ primárního klíče FOREIGN KEY pro typ cizího klíče UNIQUE pro jedinečné hodnoty a CHECK pro kontrolu omezení. V našem příkladu můžete vidět omezení s názvem PRIMARY pro primární klíč u student stůl. constraint_type sloupec poskytuje informace o typu každého omezení; pro primární klíč je to PRIMARY KEY .