Java mymysql中的数据不一致

Java mymysql中的数据不一致,java,mysql,Java,Mysql,我有一个程序可以做两件事 1) 从表1中选择一个字段以获取所需列的值 一次更新一次 2) 将新的递增值更新回该表 现在,当两个用户同时调用该过程时,它们都会得到相同的值 例如 如果以DB表示的值为100 两个用户调用这个过程,理想情况下他们应该得到101和102 但有一段时间他们两个都能拿到101分 请帮我纠正这个错误。 程序如下: DELIMITER $$ BEGIN declare trc_id INT; SELECT distinct column1 into trc_id FRO

我有一个程序可以做两件事

1) 从表1中选择一个字段以获取所需列的值 一次更新一次

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 ;

使用您的程序。

问题会减少,但不会永久消除。请帮我解决这个问题。我还看到了在mysql数据库中使用start transaction。