为了账号安全,请及时绑定邮箱和手机立即绑定

请问如何防止重复添加数据?

请问如何防止重复添加数据?

慕标5832272 2019-03-01 10:30:49
比如:导航名称或者商品的分类名称之前添加了一个 "男装" 的分类之后另一个工作人员不知道有"男装"分类了.还会继续添加.请问如何防止?难道要获取到数据库的全部分类,然后循环判断是否等于???这样的话,效率太慢了吧?
查看完整描述

16 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

数据库分类的名称设置为unique

查看完整回答
反对 回复 2019-03-01
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

你都会获取数据库数据了, 为什么不会用 where 条件?

查看完整回答
反对 回复 2019-03-01
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

如果你使用的是MySQL

INSERT INTO table_name (column1, column2, column3...)
VALUES (value1, value2, value3...)
ON DUPLICATE KEY UPDATE column2 = '男装';
查看完整回答
反对 回复 2019-03-01
?
LEATH

TA贡献1936条经验 获得超7个赞

幂等、分布式锁

查看完整回答
反对 回复 2019-03-01
?
月关宝盒

TA贡献1772条经验 获得超5个赞

用关键字去数据库做模糊查询

查看完整回答
反对 回复 2019-03-01
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

在后台业务层的时候可以在添加前先判断是否已经存在“男装”这个分类,如果存在可以向前端传输“分类已存在”的信息,不做存储的动作

查看完整回答
反对 回复 2019-03-01
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

数据库对应字段设置成unique最简单的实现

查看完整回答
反对 回复 2019-03-01
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

这个问题跟你的业务需求有关,如果需求要求同名分类只能创建一次,那么创建时,后端应该校验名称重复,前端给出业务提示。

查看完整回答
反对 回复 2019-03-01
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

可以使用ignore关键字呀

查看完整回答
反对 回复 2019-03-01
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

我觉得就是提交上来的东西,在数据库中搜索一遍,若找不到对应信息则创新新的,若找到的则报出异常

查看完整回答
反对 回复 2019-03-01
?
MM们

TA贡献1886条经验 获得超2个赞

我想你应该是在web上添加数据的吧,一般我们都会在保存前进行校验,是否字段超长,是否重复,校验不通过不许保存,这个不需要到数据库层面去限制吧

查看完整回答
反对 回复 2019-03-01
?
慕仙森

TA贡献1827条经验 获得超8个赞

字段使用unique约束

查看完整回答
反对 回复 2019-03-01
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

大部分时候,一行sql语句就搞定了,不需要再去做循环判断。即便是循环判断,也不会慢。

SELECT COUNT(*) FROM CATEGORRIES WHERE CATE_NAME="XX"; 
查看完整回答
反对 回复 2019-03-01
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

有做过注册吗,和那个原理一样的,把提交上来的名称在数据库查询一次,如果有就返回已添加就OK了,而且也不会慢。

查看完整回答
反对 回复 2019-03-01
  • 16 回答
  • 0 关注
  • 650 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号