【发布时间】:2020-08-17 22:13:26
【问题描述】:
当我尝试执行 php artisan migrate 时,它给了我这个错误 照亮\数据库\查询异常
SQLSTATE[42000]:语法错误或访问冲突:1068 定义了多个主键(SQL:alter table users add primary key users_user_id_primary(user_id))
我对 laravel 还是很陌生
这是我的迁移:
用户迁移
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id('user_id')->primary();
$table->string('username')->unique();
$table->string('email')->unique();
$table->string('password');
});
}
迁移后
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id('post_id');
$table->timestamps();
$table->string('content');
$table->foreignId('user_id')->constrained();
$table->primary(['post_id', 'user_id']);
});
}
类别迁移
public function up()
{
Schema::create('categories', function (Blueprint $table) {
$table->id('id_cat')->primary();
$table->string('nom');
});
}
马克斯迁移
public function up()
{
Schema::create('marques', function (Blueprint $table) {
$table->id('marque_id');
$table->foreignId('cat_id')->constrained();
$table->string('designation');
$table->primary(['marque_id','cat_id']);
});
}
UserMarques 迁移
public function up()
{
Schema::create('user_marques', function (Blueprint $table) {
$table->foreignId('cat_id')->constrained();
$table->foreignId('marque_id')->constrained();
$table->timestamps();
$table->primary(['marque_id','user_id']);
});
}
【问题讨论】:
-
删除
primary(),只留下id()。乐:$table->id('user_id');