Code Bye

重复数据插入问题

 

数据库MySQL,WEB服务器2台集群部署
场景:
一张会员认证信息表,当有认证申请时,先判断之前有没有申请过
如果申请过,则update;如果没有,则insert
现在数据库偶尔会出现同一个会员的2条重复数据。

怎么避免这个问题?

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

问:还有没有其他更好的解决方案

自己顶一下~

10分
为啥不用索引呢?也能增加查询效率不是?
偶尔出现重复的,猜测是并发的重复提交申请导致的,在这里考虑考虑。
如果是一个长事务,比如需要1分钟执行完整个事务
用户在提交的时候,怎么考虑并发性的问题,服务器是集群

20分
在表中增加primary key或者unique index
写数据时用replace into代替insert into
这个语句会自动判断应该是update还是insert

10分
唯一索引肯定是要加的,为了不在insert的时候出错  直接用:
insert into…. on duplicate key update …
具体语法自己去查下,我一直这么用,感觉蛮好用的
这是事物没控制好吧
楼主数据量又不是很多 事务估计没控制好
问一下,mysql的事务隔离级别是每个connection可以设置不同的级别,还是数据库全局控制的?
在前台提交表单的时候去验证数据库呀

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明重复数据插入问题