Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como encontrar o nome de uma restrição no MySQL

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 .