【发布时间】:2021-02-05 11:23:34
【问题描述】:
我想创建 2 个表:
- 名为
roles的表 - 还有一个名为
users的表
在users 中我想要一个名为role_id 的列,它应该是对roles 表的引用。
roles 表应该是这样的:
所以这里是 user 表的迁移:
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->bigInteger('role_id')->unsigned();
$table->foreign('role_id')->references('role_id')->on('roles');
$table->timestamps();
});
这是roles talbe 的迁移:
Schema::create('roles', function (Blueprint $table) {
$table->id();
$table->string('name');
});
我运行php artisan migrate时遇到的错误
SQLSTATE[HY000]: 一般错误: 1005 Can't create table
my_db.users(errno: 150 "外键约束格式不正确") (SQL: alter tableusersadd constraintusers_role_id_foreign外键 (role_id) 引用roles(role_id))
【问题讨论】:
标签: mysql laravel laravel-migrations