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

artesanato niko

Estou tentando fazer uma chave estrangeira na mesma tabela e não importa o que eu teste, recebo um erro.

Na linha Connection.php 647:

SQLSTATE [HY000]: Erro geral: 1215 Não é possível adicionar restrição de chave estrangeira (SQL: alterar tabela trip_tagsadicionar restrição trip_tags_parent_foreignde chave estrangeira ( parent) referências trip_tags( id) na exclusão em cascata)

Na linha Connection.php 449:

SQLSTATE [HY000]: Erro geral: 1215 Não é possível adicionar restrição de chave estrangeira

Este é o meu código

    Schema::create('trip_tags', function (Blueprint $table) {
        $table->engine = "InnoDB";
        $table->uuid('uuid')->unique();
        $table->integer('id')->unsigned();
        $table->string('name')->nullable();
        $table->integer('parent')->unsigned()->nullable();

        $table->timestamps();
    });

    Schema::table('trip_tags', function (Blueprint $table) {

        $table->foreign('parent')
            ->references('id')
            ->on('trip_tags')
            ->onDelete('cascade');
    });

Tento apontar o pai para o id, ambos são inteiros sem sinal, acho que a razão pela qual a criação da chave estrangeira falha é que eles não são compatíveis de alguma forma, não consigo descobrir o que está errado.

Tentei apontar o pai para uuid, mas depois tive que transformá-lo em um barbante e funcionou. Mas eu tenho que ter o ponto pai para id, que é inteiro e não consigo fazer a migração sem nosso erro.

DevK

É porque sua idcoluna não tem um índice.

Adicione ->unique()à declaração:

$table->integer('id')->unsigned()->unique();

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

Erro ao tentar criar chave estrangeira para tabela no SQL?

Erro ao imprimir inteiro dentro da string

Como fazer uma chave estrangeira em referência a uma coluna da mesma tabela

mySQL: Erro ao tentar criar uma chave estrangeira

Erro de chave estrangeira ao tentar excluir uma linha filha

Erro (1005) ao tentar criar uma chave estrangeira

Recebo um erro ao tentar fazer um vetor de classes dentro da mesma classe

Recebo um erro ao tentar fazer um vetor de classes dentro da mesma classe

Erro ao tentar inserir linha na tabela por causa da chave estrangeira UUID com sequelize.js

Erro ao criar chave estrangeira em uma tabela no PostgreSQL 11.0

Chave estrangeira múltipla da mesma tabela

"Erro: sintaxe de entrada inválida para inteiro:" ao inserir valores NULL para uma coluna SMALLINT em uma tabela Redshift?

Chave estrangeira MYSQL para a mesma tabela?

Junte duas tabelas para que os dados da coluna de chave estrangeira (inteiro) sejam alterados para os dados de texto da tabela pai (a coluna em questão na tabela pai não é a chave primária)

Junte duas tabelas para que os dados da coluna de chave estrangeira (inteiro) sejam alterados para os dados de texto da tabela pai (a coluna em questão na tabela pai não é a chave primária)

MySQL ao adicionar erro de chave estrangeira 1215

Erro 1215 do MySQL ao criar chave estrangeira

como restringir a chave primária de uma tabela deve fazer referência ao número exato da chave estrangeira de outra tabela

Erro de sintaxe SQL 1064 ao tentar criar uma restrição de chave estrangeira em uma consulta de criação de tabela

Laravel 8: Impossível criar chave estrangeira - "Erro geral: 1215 Impossível adicionar restrição de chave estrangeira"

Uma chave estrangeira pode fazer parte de uma chave primária composta para outra tabela?

Laravel 8 Erro geral: 1215 Não é possível adicionar restrição de chave estrangeira

Erro geral: 1215 Não é possível adicionar restrição de chave estrangeira - migrações laravel

Erro geral 1215: não é possível adicionar restrição de chave estrangeira

Laravel 6. Erro geral: 1215 Não é possível adicionar restrição de chave estrangeira

Erro ao tentar excluir uma linha da tabela (javascript)

Django - Verificar se um campo inteiro de chave não estrangeira existe como uma chave primária para outro modelo?

Django - Verificar se um campo inteiro de chave não estrangeira existe como uma chave primária para outro modelo?

Erro de aumento ao tentar deletar uma chave estrangeira protegida no Django

TOP lista

quentelabel

Arquivo