【发布时间】:2020-04-20 15:38:57
【问题描述】:
我不知道为什么它仍然不起作用并显示这个:
Illuminate\Database\QueryException : SQLSTATE[HY000]: 一般 错误:1005 无法创建表
db_rocnikovka.books(错误号:150 “外键约束的格式不正确”)(SQL:alter tablebooks添加约束books_doba_foreign外键(doba) 参考druh_knihies(id_druhu))在 C:\xampp\htdocs\Rocnikovka\vendor\laravel\framework\src\Illuminate\Database\Connection.php:665
异常跟踪: 1 PDOException::("SQLSTATE[HY000]: 一般错误: 1005 无法创建 > 表
db_rocnikovka.books(errno: 150 "外键约束格式不正确")") C:\xampp\htdocs\Rocnikovka\vendor\laravel\framework\src\Illuminate\Database\Connection.php:459
2 PDOStatement::execute()
C:\xampp\htdocs\Rocnikovka\vendor\laravel\framework\src\Illuminate\Database\Connection.php:459
catch (Exception $e) {
throw new QueryException(
$query, $this->prepareBindings($bindings), $e
);
}
第一张桌子
class CreateDruhKnihiesTable extends Migration
{
public function up()
{
Schema::create('druh_knihies', function (Blueprint $table) {
$table->bigIncrements('id_druhu');
$table->string('nazev');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('druh_knihies');
}
}
第二张表
class CreateBooksTable extends Migration
{
public function up()
{
Schema::create('books', function (Blueprint $table) {
$table->bigIncrements('id_book');
$table->string('nazev');
$table->string('autor');
$table->string('druh');
$table->unsignedInteger('doba');
$table->foreign('doba')->references('id_druhu')->on('druh_knihies');
$table->integer('pocet_stranek');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('books');
}
}
【问题讨论】:
-
创建
books表时druh_knihies表是否存在?
标签: mysql laravel foreign-keys laravel-6 laravel-migrations