php - 对有索引的表插入时报错23000
大家讲道理
大家讲道理 2017-04-10 17:02:32
[PHP讨论组]

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

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

大家讲道理
大家讲道理

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

全部回复(1)
阿神

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号