我有一个网站,有多个用户同时访问该网站。 在我的网站中,我有一个方法用于生成在事务中进一步使用的随机数。这个随机数是通过调用用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 ;
现在发生的情况是,当两个用户同时调用该过程时,它们都会得到相同的数字,这会导致不一致。
我已经使该方法同步,但是当同时调用该过程时,用户仍然获得相同的数字。
还有一件事,我的代码出现在两台服务器上,它们都同时处于活动状态,但程序只有一个。