如何解决Laravel-7迁移中外键约束的形成不正确
使用laravel迁移应用外键时,它会通过这种类型的错误
“外键约束格式不正确”
迁移的默认结构
User Table
---------
Schema::create('users',function (Blueprint $table) {
$table->id();
$table->timestamps();
});
Chat Table
---------
Schema::create('chats',function (Blueprint $table) {
$table->id();
$table->integer('user_id');
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});
解决方法
之所以会这样,是因为我们的列大小不应该完全相同,请在下面查看。
$table->id();
This will create a big integer
AND
$table->integer('user_id');
This will create a small integer that's why Our foreign key relations fails
如何解决此问题
$table->unsignedBigInteger('user_id');
OR
$table->foreignId('user_id')->constrained();
添加unsignedBigInteger,您的问题将得到解决。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。