Home  >  Q&A  >  body text

php - 对有索引的表插入时报错23000

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

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

大家讲道理大家讲道理2772 days ago366

reply all(1)I'll reply

  • 阿神

    阿神2017-04-10 17:04:32

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

    reply
    0
  • Cancelreply