我遇到这个问题,当我runn迁移iv得到这个错误“[Illuminate \ Database \ QueryException] SQLSTATE [HY000]:一般错误:1005无法创建表projecto_app
。#sql-118c_1d
(错误:150 “外键约束是不正确形成 ”)(SQL:ALTER TABLE parks
附加约束parks_user_id_foreign
外键(user_id
)引用users
(id
)上删除C ascade)”Laravel 5.3迁移外键约束不正确
的用户表创建第一个是创建表个公园
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateParksTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('parks', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->string('name',100);
$table->string('address',100);
$table->string('post-code',6);
$table->string('city',20);
$table->timestamps();
$table->softDeletes();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('parks');
}
}
的文件名是: 2017_01_12_000000_create_users_table 2017_02_09_111834_create_parks_table
所以你可以看到tkat有PK比公园需要FK user_is早些时候,用户表。