mysql
1START TRANSACTION; 2SET @a := 1; 3SELECT @a; -- 結果:1 4COMMIT; 5 6START TRANSACTION; 7SELECT @a; -- 結果:1(しかしここでアクセスできないようにしたい) 8COMMIT;
上記のコードを見ていただけると一目瞭然と思われますが、異なるトランザクションで同じユーザ定義変数にアクセスできてしまうことは、予期せぬ値が取得できてしまうことで事故につながる可能性があります。
この問題を回避するためにトランザクション内部(スコープ)でのみ有効なユーザ定義変数を利用、もしくはCOMMIT;の直前にそのトランザクションで利用した全ての変数を解放したいと思っているのですがどうすれば良いでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/27 08:12