laravel 資料庫遷移中integer型別是無法指定長度.
阿新 • • 發佈:2018-12-23
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'));
}