迁移:无法添加外键约束 - Migration: Cannot add foreign key constraint

问题:

I'm trying to create foreign keys in Laravel however when I migrate my table using artisan i am thrown the following error:我正在尝试在 Laravel 中创建外键,但是当我使用artisan迁移我的表时,我抛出了以下错误:

[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL
: alter table `priorities` add constraint priorities_user_id_foreign foreign 
key (`user_id`) references `users` (`id`))     

My migration code is as so:我的迁移代码如下:

priorities migration file优先级迁移文件

public function up()
{
    //
    Schema::create('priorities', function($table) {
        $table->increments('id', true);
        $table->integer('user_id');
        $table->foreign('user_id')->references('id')->on('users');
        $table->string('priority_name');
        $table->smallInteger('rank');
        $table->text('class');
        $table->timestamps('timecreated');
    });
}

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

users migration file用户迁移文件

public function up()
{
    //
    Schema::table('users', function($table)
    {
    $table->create();
    $table->increments('id');
    $table->string('email');
    $table->string('first_name');
    $table->string('password');
    $table->string('email_code');
    $table->string('time_created');
    $table->string('ip');
    $table->string('confirmed');
    $table->string('user_role');
    $table->string('salt');
    $table->string('last_login');

    $table->timestamps();
    });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    //
        Schemea::drop('users');
}

Any ideas as to what I've done wrong, I want to get this right now, as I've got a lot of tables I need to create eg Users, Clients, Projects, Tasks, Statuses, Priorities, Types, Teams.关于我做错了什么的任何想法,我想现在就得到这个,因为我有很多表需要创建,例如用户、客户、项目、任务、状态、优先级、类型、团队。 Ideally I want to create tables which hold this data with the foreign keys, i..e clients_project and project_tasks etc.理想情况下,我想创建使用外键保存这些数据的表,即clients_projectproject_tasks等。

Hope someone can help me to get started.希望有人可以帮助我开始。


解决方案:

参考一: https://stackoom.com/question/1WtR0
参考二: Migration: Cannot add foreign key constraint
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章