0
我想在sql上實現某種鎖定。 爲了解釋我在做什麼簡單: 與ID INT自動增量的PK,和一個字段中的數據爲varchar(最大)非羣集IXSQL鎖行,插入表並選擇
現在我有simlpy檢查一些C#代碼的一個表,如果該項目不在db,使插入 的SQL代碼,我使用的背後是這樣的:
INSERT INTO {0}.{1} WITH (TABLOCKX) VALUES(@data...)
和選擇之一是:
SELECT Id FROM {0}.{1} WITH (TABLOCKX) WHERE(Data = @data)
,但我可以看到,有與相同的項目值插入m ultiple times TABLOCK創建死鎖,我不想使用唯一索引,因爲它非常慢。
有沒有辦法實現這與鎖?
什麼是sql引擎? – SriniV 2014-10-08 12:51:00
你可以對數據庫中的列設置一個唯一的約束,這將防止當它已經存在時插入相同的值 – MarkD 2014-10-08 12:51:01
SQL Server 2008和MarkD,我不想在你的插入語句中使用唯一索引 – user3057678 2014-10-08 12:56:44