我有一个网站,有多个用户同时访问该网站。在我的网站中,我有一种方法用于生成在事务中进一步使用的随机数。这个随机数是通过调用用 MYSQL 编写的过程生成的。
我的程序如下DELIMITER $$
BEGIN
declare trc_id INT;
SELECT distinct column1 into trc_id FROM table1 where column2=match_name and status='A';
set abc=trc_id+1;
update table1 set column1=str_id where column2=match_name and column1=trc_id;
END $$
DELIMITER ;
现在发生的情况是,当两个用户同时调用该过程时,他们都得到相同的号码,这会导致不一致。
我已使方法同步,但用户在同时调用该过程时仍然获得相同的数字。
还有一件事是我的代码存在于两台服务器上,它们都同时处于活动状态,但程序只有一个。