Chave estrangeira MYSQL para a mesma tabela?

user1985273

Eu tenho uma tabela com colunas seguintes: " , ", onde aponta para uma entidade na mesma tabela.idparent_idnameparent_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?

boêmio

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.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Relacionamentos com a mesma chave estrangeira para a mesma tabela Laravel 5

MySQL usando a mesma chave estrangeira para duas colunas de tabela diferentes

O MySQL não adicionará chave estrangeira mais de uma chave estrangeira à mesma tabela

MySQL altera duas colunas para a mesma chave estrangeira

Chave estrangeira múltipla da mesma tabela

Django model chave estrangeira na mesma tabela

Chave estrangeira referindo-se à chave primária na mesma tabela Mysql

Duas colunas na mesma tabela e mesma chave estrangeira

Impedir múltiplas referências de chave estrangeira para a mesma linha na tabela primária

Como faço para carregar antecipadamente várias linhas de chave estrangeira da mesma tabela, no Sequelize?

Erro geral 1215 ao tentar fazer uma chave estrangeira dentro da mesma tabela, inteiro para inteiro

SQL Server: tabela com chave estrangeira para si mesma com exclusão em cascata

Como faço para carregar antecipadamente várias linhas de chave estrangeira da mesma tabela, no Sequelize?

Juntando 2 tabelas que têm a mesma chave estrangeira da mesma tabela, mas um é um para muitos

MySQL - Inserindo chave primária de uma tabela para outra (chave estrangeira)

laravel chave estrangeira para a tabela atual

problemas para criar tabela usando chave estrangeira

Insira na tabela com a chave estrangeira Mysql

Insira na tabela com a chave estrangeira Mysql

Duas chaves primárias na mesma tabela e chave estrangeira

restrição de chave estrangeira formada incorretamente [mesma tabela]

Crie duas referências de chave estrangeira para a mesma tabela com índice composto único para uma delas

Crie duas referências de chave estrangeira para a mesma tabela com índice composto único para uma delas

MySQL Como faço para usar uma chave estrangeira para identificar uma coluna em outra tabela?

O MySQL cria uma chave estrangeira anulável que se refere ao campo id na mesma tabela

Como associar uma tabela a si mesma com base em uma chave estrangeira na mesma tabela?

chave duplicada na tabela para chave estrangeira em sql

Como migrar IDs da tabela JOIN para a coluna de chave estrangeira no MySQL

Por que o MySQL cria índices para chave estrangeira durante a atualização da tabela

TOP lista

quentelabel

Arquivo