【问题标题】:Laravel 5.1 migration error auto increment primaryLaravel 5.1 迁移错误自动增量主
【发布时间】:2017-05-11 20:31:04
【问题描述】:

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

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

        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

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

非常感谢,祝你有美好的一天!

【问题讨论】:

    标签: php mysql laravel migration laravel-5.1


    【解决方案1】:

    五月

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

    【讨论】:

      【解决方案2】:

      函数的声明如下:

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

      所以不要使用整数长度,它会正常工作。如果你想要一个小于 11 的整数,可以使用 smallIntegermediumInteger,它们的长度描述为 here

      【讨论】:

        【解决方案3】:

        删除所有integer()中的秒参数:

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

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

        【讨论】:

        • 谢谢,它有效!你能告诉我,我怎样才能添加整数的大小?因为,所有整数现在都设置为 int(11) 可以在迁移中添加大小吗?如果是,如何?谢谢!
        • 不,不幸的是,在迁移中不可能这样做。请记住,int 的大小与最小值或最大值没有任何关系,并且只有在您使用zerofill 时才真正有用。这是一个很好的写法。 blogs.oracle.com/jsmyth/entry/what_does_the_11_mean
        • 你不能。你可以使用these types of integertinyIntegersmallIntegermediumIntegerintegerbigInteger
        猜你喜欢
        • 1970-01-01
        • 2016-07-06
        • 2016-03-15
        • 2014-12-28
        • 2016-02-10
        • 2017-10-14
        • 2019-06-16
        • 2022-11-01
        • 1970-01-01
        相关资源
        最近更新 更多