larave 使用migrate的时候报了一个错误
SQLSTATE[42000]: Syntax error or access violation: 1075 Incorrect table definition; there can be only one auto column and it must be defined as a key
原因:
在创建表的时候,其中一个字段写成了
$table->integer('Phone',11)->unique()->nullable();
但实际上,他这个类里面所有的关于int类型的构造全都是自己加了autoIncrement,导致和ID冲突了,毕竟一个表不能有两个自增
public function integer($column, $autoIncrement = false, $unsigned = false) {
return $this->addColumn('integer', $column, compact('autoIncrement', 'unsigned'));
}
第二个参数是 是否指定该字段是 autoincrement,按理说,他默认值是false,但是在创建的时候写了个长度11,于是整型11转换为bool就是true,因此报错