現在有一個場景,有這樣一個注冊方法 先執行查詢陳述句查詢有沒有一條user的資料沒有就往里面insert,但是現在同一時刻有兩個請求也就是一個時刻會執行兩次這個注冊方法,這也就導致第一次查詢是沒有user緊跟著第二次也是沒有user的所以會執行兩次insert最后資料庫會有兩個這樣的user,這個問題怎么解決,求教
uj5u.com熱心網友回復:
先插入后修改uj5u.com熱心網友回復:
不管你怎么并發 處理資料的只有一個 不存在同時兩個這種說法 直接簡單粗暴的辦法就是 改下插入陳述句改成if exits(查詢)
begin
insert
end
uj5u.com熱心網友回復:
還有更好的辦法嗎uj5u.com熱心網友回復:
我的邏輯也是這樣,現在的執行順序是
1:exits() 第一次前端請求
2: exits() 緊跟第二次請求
3: insert 第一次的
4 insert 第二次的
uj5u.com熱心網友回復:
資料表的自增主鍵 的唯一性,是由資料庫系統保證的無論怎么并發都是唯一的
所以先插入,然后根據自增鍵修改是最穩妥的方案
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/280124.html
標籤:C#
上一篇:C# List的功能實作
