navicat数据插入失败原因(1062 Duplicate entry)

数据表中phone字段增加了唯一索引
laravel 模型用了软删除

业务逻辑:传入手机号,判断传入的phone是否在数据表中,有返回phone重复提示,没有新建一条数据

情景再现:传入手机号,报1062 Duplicate entry '158****112' for key 'phone' in ...

提示phone重复,按业务逻辑应该先返回phone重复,而不是报错

查数据表发现一条软删除数据,phone字段为上面传入的手机号

报错原因:在判断phone是否重复时,由于用了ORM的软删除,导致未查找到该数据,入库时由于phone字段有唯一索引导致了报错

解决:手动删除这条软删数据或者用withtrashed()方法

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐