I would like to migrate a table with the elements below.
public function up() {
Schema::create('users', function(Blueprint $table) {
$table->increments('id');
$table->integer('LoginID', 9)->unsigned();
$table->string('username');
$table->string('email')->unique();
$table->string('password', 60)->unique();
$table->rememberToken();
$table->timestamps();
});
}
However, I have kept dealing with the error below. Does anyone know how to make integer "LoginID not a primary key so that I can migrate the table below? Any advice appreciated. Thanks in advance.
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1 table "users" has more than one primary key (SQL: create table "users" ("id" integer not null primary key autoincrement, "LoginID" integer not null primary key autoincrement, "username" varchar not null, "email" varchar not null, "password" varchar not null, "remember_token" varchar null, "created_at" date time not null, "updated_at" datetime not null))
try this
$table->integer('company_tel')->length(10)->unsigned();
or this
$table->integer('company_tel', false, true)->length(10);
see details https://laracasts.com/discuss/channels/general-discussion/why-am-i-getting-a-database-error-on-migration
The problem is that you use the function ->integer()
with a second param. According to the docs the second parameter expects a boolean to set autoincrement or not: bool $autoIncrement = false
).
Try this:
public function up() {
Schema::create('users', function(Blueprint $table) {
$table->increments('id');
$table->integer('LoginID')->unsigned();
$table->string('username');
$table->string('email')->unique();
$table->string('password', 60)->unique();
$table->rememberToken();
$table->timestamps();
});
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With