Problema:
Você deseja encontrar os nomes das restrições em uma tabela no MySQL.
Exemplo:
Queremos exibir os nomes das restrições na tabela
student . Solução:
SELECT TABLE_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME FROM information_schema.table_constraints WHERE table_name='student';
Aqui está o resultado:
| TABLE_NAME | CONSTRAINT_TYPE | CONSTRAINT_NAME |
|---|---|---|
| aluno | CHAVE PRIMÁRIA | PRIMÁRIO |
| aluno | ÚNICO | número_pessoal |
| aluno | CHAVE ESTRANGEIRA | student_ibfk_1 |
| aluno | VERIFICAR | aluno_chk_1 |
Discussão:
Use a visualização
table_constraints no information_schema esquema. Esta visualização contém muitas colunas, mas as mais importantes são table_name , constraint_type e constraint_name . A coluna table_name fornece o nome da tabela na qual a restrição é definida e a coluna constraint_name contém o nome da restrição. A coluna constraint_type indica o tipo de restrição:PRIMARY KEY para o tipo de chave primária, FOREIGN KEY para o tipo de chave estrangeira, UNIQUE para os valores exclusivos e CHECK para a verificação de restrição. Em nosso exemplo, você pode ver a restrição chamada PRIMARY para a chave primária no student tabela. O constraint_type coluna fornece informações sobre o tipo de cada restrição; para a chave primária, é PRIMARY KEY .