Laravel: 1215 Невозможно добавить ограничение внешнего ключа - при миграции - PullRequest
1 голос
/ 09 марта 2019

У меня есть категория таблицы, у которой есть родительский тип.

Schema::create('categories', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('name');
        $table->integer('parent_id')->unsigned()->nullable()->default(null);
        $table->foreign('parent_id')->references('id')->on('categories');
        $table->timestamps();
    });

Броски:

SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `categories` add constraint `categories_parent_id_foreign` foreign key (`parent_id`) references `categories` (`id`))

Я уже пытался сделать parent_id как иностранный в отдельности, Schema ::табличная функция пока безуспешно.Таблица типа InnoDB.

1 Ответ

2 голосов
/ 09 марта 2019

Попробуйте изменить свой FK с целого на bigInteger:

$table->bigInteger('parent_id')->unsigned()->nullable()->default(null);

или

$table->unsignedBigInteger('parent_id')->nullable()->default(null);
...