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