我有一个做两件事的程序
1) 从 table1 中选择一个字段获取所需列的值将其更新一并
2) 将新的增量值更新回该表中。
现在,当两个用户同时调用该过程时,他们都会得到相同的值。
例如
如果 DB 中的值是 100,并且两个用户调用该过程,那么理想情况下他们应该得到 101 和 102。
但有时他们都得到了 101。
请帮助我纠正这个错误。程序是:
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 ;