Laravel 7 SQLSTATE[42000]: Syntax error or access violation: 1075 Incorrect table definition; 错误

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,因此报错

发布了14 篇原创文章 · 获赞 3 · 访问量 4392

猜你喜欢

转载自blog.csdn.net/kina100/article/details/105501166
今日推荐