私は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 ;