2

私は2つのことをする手順を持っています

1) table1 からフィールドを選択し、目的の列の値を取得して 1 ずつ更新し、

2) 新たに増加した値を更新してそのテーブルに戻します。

2 人のユーザーが同時にプロシージャを呼び出すと、両方とも同じ値を取得します。

例えば

DB に存在する値が 100 で、2 人のユーザーがプロシージャを呼び出す場合、理想的には 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 ;
4

1 に答える 1

0

手順に同期メソッドを使用します。

于 2012-12-03T10:38:13.060 に答える