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 长度的整数,您可以使用 smallInteger
或 mediumInteger
,它们的长度描述为 here.
5 月
$table->tinyInteger('tickets');
$table->tinyInteger('tokens');
$table->tinyInteger('in_raffle');
$table->boolean('ban')->default(false);
$table->boolean('notice')->default(false);
我学习 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 长度的整数,您可以使用 smallInteger
或 mediumInteger
,它们的长度描述为 here.
5 月
$table->tinyInteger('tickets');
$table->tinyInteger('tokens');
$table->tinyInteger('in_raffle');
$table->boolean('ban')->default(false);
$table->boolean('notice')->default(false);