php - 对有索引的表插入时报错23000
大家讲道理
大家讲道理 2017-04-10 17:02:32
0
1
339

表有一个unique索引(两个字段)
对这个表进行add操作时报错,23000,也就是当数据存在时会报错,而不像手册中说的返回flase。
网上有人用异常,不考虑这个。。。。
还有人说在模型里加入验证,可是验证好像同时只能针对一个字段。。。

如果不用异常的话,有什么办法可以让插入失败时返回false?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

reply all(1)
阿神

首先声明,插入失败返回false貌似做不到,但是还是有办法解决的。
1、validate是可以针对两个字段的,你可以先validate时对该字段使用unique,再使用$data->create(),如果返回true才进行add操作
2、可以直接先判断一下数据库中有没有当前unique字段,如果有的话仍然添加应该用save或者add($data,true)

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!