当前位置: 代码迷 >> J2EE >> 重复数据插入有关问题
  详细解决方案

重复数据插入有关问题

热度:187   发布时间:2016-04-17 23:48:55.0
重复数据插入问题
数据库MySQL,WEB服务器2台集群部署
场景:
一张会员认证信息表,当有认证申请时,先判断之前有没有申请过
如果申请过,则update;如果没有,则insert
现在数据库偶尔会出现同一个会员的2条重复数据。

怎么避免这个问题?

解决方案1:在数据库中增加唯一性索引

问:还有没有其他更好的解决方案
------解决方案--------------------
为啥不用索引呢?也能增加查询效率不是?
偶尔出现重复的,猜测是并发的重复提交申请导致的,在这里考虑考虑。
------解决方案--------------------
在表中增加primary key或者unique index
写数据时用replace into代替insert into
这个语句会自动判断应该是update还是insert
------解决方案--------------------
唯一索引肯定是要加的,为了不在insert的时候出错  直接用:
insert into.... on duplicate key update ...
具体语法自己去查下,我一直这么用,感觉蛮好用的
  相关解决方案