"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que estou recebendo o erro 1022 do MySQL ao criar uma tabela com chaves estrangeiras?

Por que estou recebendo o erro 1022 do MySQL ao criar uma tabela com chaves estrangeiras?

Publicado em 2024-11-12
Navegar:441

Why Am I Getting MySQL Error 1022 When Creating a Table with Foreign Keys?

Erro 1022 do MySQL: revelando a causa raiz

A criação de tabelas é um aspecto fundamental do design do banco de dados, mas às vezes podem surgir erros inesperados. Um desses erros é o infame MySQL Erro 1022, que geralmente ocorre ao tentar criar uma tabela com chaves duplicadas.

Em um caso recente, um usuário encontrou esse erro ao usar o MySQL Workbench para criar a tabela 'errors_reports' . Apesar da tabela parecer válida, o MySQL recusou-se obstinadamente a cumpri-la, citando a presença de chaves duplicadas. o usuário eliminou meticulosamente elementos da definição da tabela, isolando em última análise o culpado: uma restrição de chave estrangeira que faz referência à tabela de 'erros'.

O curioso caso de chaves estrangeiras idênticas

Estranhamente, o usuário encontrou definições de chave estrangeira idênticas em outras tabelas sem problemas. No entanto, neste caso, o MySQL recusou-se a tolerar a duplicação.

Desmascarando o Conflito

A solução para este dilema desconcertante está no conceito de convenções de nomenclatura de chave estrangeira. Acontece que as chaves estrangeiras não podem compartilhar o mesmo nome em um banco de dados. Isso ocorre porque o MySQL utiliza nomes de chaves estrangeiras para determinar para qual tabela e coluna a referência aponta. Atribuir o mesmo nome a várias chaves estrangeiras pode causar confusão e ambiguidade.

Um caminho mais claro para a criação de tabelas

Para resolver o erro e criar com sucesso os 'errors_reports' tabela, o usuário ajustou o nome da chave estrangeira incorreta. Ao garantir que os nomes das chaves estrangeiras fossem únicos, o usuário satisfez a convenção de nomenclatura do MySQL e abriu o caminho para uma criação de tabela bem-sucedida.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3