アプリ版:「スタンプのみでお礼する」機能のリリースについて

AutoIncrementでなく、
あるコードの中の最大値+1で番号を初番する場合、

1.トランザクション開始
2.select max(no) from master where aru_code = 1 for update
3.insert into master values (2で取得したnoとaru_code=1)
4.トランザクション終了

というように、for updateで行ロックをかけないと
同じ番号が初番されてしまう可能性があるでしょうか?

A 回答 (1件)

あると思います。


実際、Command Line Clientを二つ立ち上げて、実行してみると
for updateをつけないとタイミングによっては同じ値を取得して
しまいます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す