Eu tenho uma tabela com colunas seguintes: " , ", onde aponta para uma entidade na mesma tabela.id
parent_id
name
parent_id
Quero adicionar uma restrição que me impeça de excluir uma entidade, se houver outras entidades, que tenham a primeira como parent_id
.
Uma chave estrangeira pode ser usada para isso ou a chave estrangeira só pode apontar para outras tabelas?
Sim, uma chave estrangeira pode fazer referência à mesma tabela.
Um exemplo clássico disso, geralmente incluído no banco de dados de amostra que vem com o banco de dados, é:
create table employee (
id int not null primary key,
manager_id int not null references employee,
...
)
Essas referências são conhecidas como chaves estrangeiras de autorreferência . Se definidos como acima, eles evitam automaticamente a exclusão de um registro "pai" se houver "filhos" que façam referência a ele.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras