一般错误:1824无法打开引用表

问题描述 投票:0回答:1

我正在尝试使用php artisan migration将'books'表的外键与'categories'表一起设置,但出现以下错误:

    Illuminate\Database\QueryException 

  SQLSTATE[HY000]: General error: 1824 Failed to open the referenced table 'categories' (SQL: alter table `books` add constraint `books_category_id_foreign` foreign key (`category_id`) references `categories` (`id`))

图书迁移文件:

public function up()
{
    Schema::create('books', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('category_id')->unsigned();
        $table->foreign('category_id')->references('id')->on('categories');
        $table->string("image");
        $table->string("title");
        $table->string("description")->nullable();
        $table->string("author");
        $table->string("cover");
        $table->integer("nod")->nullable();// Number of downloads
        $table->integer("rating")->nullable();
        $table->timestamps();
    });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::dropIfExists('books');
}

类别迁移文件:

public function up()
{
    Schema::create('categories', function (Blueprint $table) {
        $table->increments('id');
        $table->string("title");
        $table->string("image");
        $table->timestamps();
    });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::dropIfExists('categories');
}

我确实需要帮助才能在我的移动应用程序API中使用。我希望有人能帮助我。

laravel reference foreign-keys migration migrate
1个回答
0
投票
我现在有相同的错误。

它与进行这些迁移有关。

我遇到的问题是因为我手动重构了表名,但没有

照顾表之间的连接并立即尝试

迁移它们。

我为我工作的解决方案是删除迁移并再次创建它们。

© www.soinside.com 2019 - 2024. All rights reserved.