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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值