1. 程式人生 > >laravel 資料庫遷移中integer型別是無法指定長度.

laravel 資料庫遷移中integer型別是無法指定長度.

laravel資料庫遷移中integer型別是無法指定長度的,很多小夥伴對integer型別傳遞第二個引數後會發現遷移報以下錯誤

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程式碼後發現通過integer指定長度建立的子段自動添加了auto increament 以及 primary key 屬性

int not null auto_increment primary key

檢視原始碼後發現integer方法的第二個引數並不是指定長度,而是是否設定auto increment,所以integer方法無法指定子段長度,預設為11。


    public function integer($column, $autoIncrement = false, $unsigned = false)
        {
        return $this->addColumn('integer', $column, compact('autoIncrement', 'unsigned'));
    }