【发布时间】:2019-07-14 22:09:09
【问题描述】:
Schema::create('position', function (Blueprint $table) {
$table->increments('post_id');
$table->String('post_name');
$table->timestamps();
});
Schema::create('candidate', function (Blueprint $table) {
$table->increments('id');
$table->String('name');
$table->String('branch');
$table->unsignedInteger('post_id');
// $table->foreign('post_id_no')->references('post_id')->on('position')->onDelete('cascade');
$table->foreign('post_id')->references('post_id')->on('position')->onDelete('cascade');
$table->integer('count')->default(0);
$table->timestamps();
});
我有两张桌子,position 和 candidate。当我迁移时,我收到外键错误。谁能说出代码中有什么错误?
这是我在迁移时遇到的错误:
Illuminate\Database\QueryException : SQLSTATE[HY000]: 一般错误: 1005 无法创建表
voting.#sql-16b7_2b(errno: 150 "外键约束格式不正确") (SQL: alter table @987654326 @添加约束candidate_post_id_foreign外键(post_id)在删除级联时引用position(post_id)
catch (Exception $e) {
throw new QueryException(
$query, $this->prepareBindings($bindings), $e
);
}
PDOException::("SQLSTATE[HY000]: General error: 1005 Can't create table `voting`.`#sql-16b7_2b` (errno: 150 "Foreign key constraint is incorrectly formed")")
【问题讨论】:
-
在哪里是表“投票”模式,因为它在创建表投票时显示错误。
标签: laravel