首页 > 解决方案 > Laravel 迁移显示“定义了多个主键”

问题描述

我的 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 migrate”时,显示错误“1068 多个主键”。有人可以帮助找到问题。

标签: phplaravel-5artisan-migrate

解决方案


您不需要,->primary()因为已经->increments('...')包含它。
就像在 MySQL 中你这样写:

PK INT AUTO_INCREMENT PRIMARY KEY;
PRIMARY KEY(PK)

您声明了两次相同的主键


推荐阅读