如果使用SQL Server已存在,如何忽略插入?

时间:2014-07-21 21:31:42

标签: sql-server insert ignore-duplicates

我有一个插入语句,它使用VALUES一次插入多行,每组值用逗号分隔,如下所示:

INSERT INTO link_instance_message (instance_id, message_id) 
VALUES 
( (select instance_id from instance where instance_key = '2222d4a5-6ec6-4a35-a24d-2dc3980b2e29'), 26),
( (select instance_id from instance where instance_key = '2323d4a5-6ec6-4a35-a24d-2dc3980b6969'), 26)

但是,如果其中一个已经存在,则由于link_instance_message表上的重复键约束,它无法执行整个操作。我想知道我怎么能让insert语句仍然是一个插入调用但忽略插入让我们说实例_key ='2222d4a5-6ec6-4a35-a24d-2dc3980b2e29'因为它已经存在但是没有忽略实例键='2323d4a5-6ec6-4a35 -a24d-2dc3980b6969'因为它尚不存在。

我真的想避免不得不为每个插件进行单独的SQL调用,因为最多可插入1,000行,我认为这不是特别有效,但我不确定。

0 个答案:

没有答案