Php 拉威尔移民展“;定义了多个主键";

Php 拉威尔移民展“;定义了多个主键";,php,laravel-5,artisan-migrate,Php,Laravel 5,Artisan Migrate,我的laravel迁移如下所示 public function up() { Schema::create('account_main', function (Blueprint $table) { $table->increments('user_sn')->primary(); $table->string('member_username', 20); $table->string('login_password', 25

我的laravel迁移如下所示

public function up()
{
    Schema::create('account_main', function (Blueprint $table) {
      $table->increments('user_sn')->primary();
      $table->string('member_username', 20);
      $table->string('login_password', 255);
      $table->integer('login_count')->default('0')->unsigned();
    });
}
当我运行“php artisan迁移”时,显示错误“1068多个主键”。
有人能帮你找到问题吗。

你不需要
->primary()
,因为已经
->increments(“…”)
包含了它。
这就像在MySQL中,您编写了以下内容:

PK INT AUTO_INCREMENT PRIMARY KEY;
PRIMARY KEY(PK)

您在
Laravel Eloquent ORM
中声明了两次相同的主键

,类型
增量
将自动定义为
主键
。所以不需要使用
primary()
方法

如果列是整数。

$table->increments('user_sn');
如果列是字符串

$table->string('user_sn')->primary();
如果希望任何其他列都是唯一的(而不是主键)

$table->increments('user_sn');
$table->string('member_username',20)->unique();//不能包含重复的值