Mysql如果存在两个simultanious请求失败。如何解决这个问题?

时间:2018-02-26 14:37:28

标签: mysql mysql-workbench

我编写了一个代码,只在特定条件不存在时插入查询,但只有当两个同时发出的请求来自浏览器时才会失败。因此,数据库中会出现重复条目​​。我在存储过程中使用了它。

示例:

if not exists(select * from tblUser where Email=dEmail and status=2) then
   insert into tbluser(Name,Email,Status) values (dName,dEmail,dStatus);
else
   Update tblUser set Name=dName where Email=dEmail and status=2;
end if;

请告诉我一个很好的解决方案。

1 个答案:

答案 0 :(得分:0)

您可以向表中添加复合唯一键以防止重复。

ALTER TABLE `tblUser ` ADD UNIQUE `unique_index`(Email,Status);