I am trying to create a new migration for my users table, I have the following schema:
Schema::create('users', function($t) {
$t->increments('id');
$t->string('username', 16);
$t->string('password', 64);
$t->integer('role', 64);
$t->timestamps();
});
When I try to run php artisan migrate from the terminal, I get the following error:
[Exception]
SQLSTATE[42000]: Syntax error or access violation: 1075 Incorrect
table definition; there can be only one auto column and it must
be defined as a key (SQL: create tableusers(idint unsigne d
not null auto_increment primary key,usernamevarchar(16) not null,
passwordvarchar(64) no t null,roleint not null
auto_increment primary key,created_attimestamp default 0 not null
,updated_attimestamp default 0 not null)) (Bindings: array (
))
The error has something to do with the ‘role’ field, as when this is removed it seems to run fine.
Thanks in advance for any help or insight.
The second parameter for
integeris an auto increment flag.https://github.com/laravel/framework/blob/5.4/src/Illuminate/Database/Schema/Blueprint.php#L510