2015-04-23 58 views
0

場景:策略用於防止重複表中的行的插入

用戶A和B執行同時select id from Product where id = ?,如果沒有結果,既創建具有給定的ID的新產品。

問題:

這可能會導致重複行的創建。

問題:

什麼是可能的策略,以防止這種情況?我知道我可以使用複合/唯一鍵來保證這一點,但是還有其他策略嗎?是否有任何SQL語句鎖定具有相同參數的查詢?

+0

任何替代之外唯一約束? –

回答

2

您可以使用unique constraints

ALTER TABLE Persons ADD UNIQUE (P_Id) 

ALTER TABLE Persons 
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName) 

這樣,這將是不可能要插入一個重複。