0

Laravel 4、User および GP の 2 つのテーブル間に外部キー制約を作成しようとしています。ユーザーは多くの GP に関連付けることができます。外部キーは users テーブルの「Practice_ID」であり、GP テーブルの ID に関連付けられています。

    public function up()
{

    // Creates GP table
    Schema::create('gp', function($ta)
    {
        $ta->bigIncrements('id');
        $ta->string('address_1');
        $ta->string('address_2');
        $ta->string('address_3');
        $ta->string('post_code');
        $ta->timestamps();
    });

    // Creates the users table
    Schema::create('users', function($table)
    {
        $table->increments('id');
        $table->string('username');
        $table->string('email');
        $table->string('password');
        $table->string('confirmation_code');
        $table->boolean('confirmed')->default(false);
        $table->bigInteger('practice_id');
        $table->foreign('practice_id')->references('id')->on('gp');
        $table->timestamps();
    });

    // Creates password reminders table
    Schema::create('password_reminders', function($t)
    {
        $t->string('email');
        $t->string('token');
        $t->timestamp('created_at');
    });

}

私が得ているエラーは次のとおりです。

[Exception]
SQLSTATE[HY000]: General error: 1005 Can't create table 'doctor.#sql-3ac_a4' (errno: 150) (SQL: alter table usersadd constraint users_practice_id_foreign 外部キー ( practice_id) 参照gp( id)) (Bindings: array (
))

4

1 に答える 1