SQL:alter table`familymembers`在laravel中添加约束`familymembers_user_id_foreign`外键(`user_id`)引用`all_users`

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL:alter table`familymembers`在laravel中添加约束`familymembers_user_id_foreign`外键(`user_id`)引用`all_users`相关的知识,希望对你有一定的参考价值。

我是laravel的新手。我试图将外键放在familymembers表中。但无法正确迁移。发生以下错误。我尝试了很多不同的更改来解决以下错误。但我不能这样做。这不是一个重复的问题。帮我...帮助...

在Connection.php第647行:

SQLSTATE [HY000]:常规错误:1215无法添加外键约束

(SQL: alter table `familymembers` add constraint `familymemb
  ers_user_id_foreign` foreign key (`user_id`) references `all_users` (`id`))

在Connection.php第449行:

SQLSTATE [HY000]:常规错误:1215无法添加外键约束

create_familymembers_table_migrations:

 Schema::create('familymembers', function (Blueprint $table) {
                $table->engine = 'InnoDB';
                $table->increments('id');
                $table->string('fullName');
                $table->string('relationship');
                $table->string('gender');
                $table->date('dob');

                $table->integer('user_id')->unsigned();
                $table->foreign('user_id')->references('id')->on('all_users');

                $table->timestamps();

});

create_all_users_table_migrations:

Schema::create('all_users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('nameWithInitials');
            $table->string('callingName');
            $table->string('email');
            $table->integer('contactNo');
            $table->string('password');
            $table->string('type');
            $table->string('addNo');
            $table->string('addStreet');
            $table->string('addCity');
            $table->string('intentToJoin');
            $table->string('region');

            $table->timestamps();

});

提前致谢。

答案

确保迁移文件的顺序正确。

例如all_users然后familymembers

以上是关于SQL:alter table`familymembers`在laravel中添加约束`familymembers_user_id_foreign`外键(`user_id`)引用`all_users`的主要内容,如果未能解决你的问题,请参考以下文章

sql [ALTER TABLE ADD COLUMN]将新列添加到现有表#SQL

SQL ALTER TABLE 语句

SQL-W3School-高级:SQL ALTER TABLE 语句

SQL ALTER TABLE MODIFY 语句

alter table 如何删除一列,SQL 中的alter 语句用来删除一张表的一列。具体的句法是啥了?

SQL ALTER TABLE ADD PRIMARY KEY 错误 1064