ストアドプロシージャの「テーブルのロック」に代わるmysql
-
26-10-2019 - |
質問
行がまだ存在しない場合は、行をテーブルに挿入する必要があり、ストアドプロシージャを使用してこれを行う必要があります。したがって、行が既に存在するかどうかを確認する必要があります。その後、挿入が続きます。私が避けたいのは、ストアドプロシージャの2人の発信者が行が存在しないことを確認し、両方が行を挿入しようとする人種条件です。
これを解決することについての私の最初の考えは、テーブルをロックすることですが、残念ながら発行することはできません LOCK TABLE
ストアドプロシージャ。
クライアント(C#)に重複したキー挿入例をトラップしないでください。
テーブルや代替ソリューションをロックする方法はありますか?
解決
他のヒント
別のオプションは使用することです
INSERT IGNORE INTO ...
また、この挿入が2回発生することで違反されるユニークなキーがある限り、二度目は行われません。
所属していません StackOverflow