Laravel 5.1 迁移错误自动递增主要

Laravel 5.1 migration error auto increment primary

我学习 Laravel 有一段时间了,我为自己创建了一些基本项目,但今天我尝试用更多整数迁移 table。但是还是报错。

每个整数都尝试成为auto_increment和主要的,这可能是一个问题,但我不知道如何解决它。

        Schema::create ('users', function (Blueprint $table)
    {
        $table->increments ('id');
        $table->string ('email')->unique();
        $table->string ('pass',250);
        $table->integer ('tickets',4);
        $table->integer ('tokens',4);
        $table->integer ('in_raffle',4);
        $table->text ('profile',500);
        $table->string ('ip',20);
        $table->integer ('ban',1);
        $table->integer ('notice',1);
        $table->timestamp ('last_login');

    });

https://s28.postimg.org/fh3uaqdct/screen2.jpg

谁能告诉我,我该如何解决这个问题?要编辑什么才能正常工作?

非常感谢,祝你有愉快的一天!

删除所有秒参数integer():

$table->integer('tickets');
$table->integer('tokens');
$table->integer('in_raffle');
$table->integer('ban');
$table->integer('notice');

integer() 方法的第二个参数是 autoIncrement,它被视为布尔值。当您传递不同于 false 的内容时,Laravel 认为您希望此整数为 auto_increment.

函数的声明如下所示:

public function integer($column, $autoIncrement = false, $unsigned = false)

所以去掉整数长度,它会工作得很好。如果您想要一个小于 11 长度的整数,您可以使用 smallIntegermediumInteger,它们的长度描述为 here.

5 月

$table->tinyInteger('tickets');
$table->tinyInteger('tokens');
$table->tinyInteger('in_raffle');
$table->boolean('ban')->default(false);
$table->boolean('notice')->default(false);