我有一个做两件事的程序
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 ;