Sql更新:重复键错误后继续更新(transact-SQL)

Sql update: continue updating after duplicate key error (transact-SQL)

我有以下脚本:

update myTable set FieldValue = 1 where FieldValue = 2

现在假设我在 mytable 中有 10 个条目,并且在更新第 5 个元素时,我得到 重复键插入错误:

Cannot insert duplicate key row in object 'dbo.mytable' with unique index. The duplicate key value is (FieldValue).

并且在第 5 个之后必须更新的元素的更新没有完成。

如果发生错误,我什么都不做,跳过由于出现上述错误而无法更新的元素的更新。

发生这种错误后如何继续更新其余元素?

像这样使用 IGNORE 关键字:

update IGNORE myTable set FieldValue = 1 where FieldValue = 2;

如果记录更新失败(例如,由于唯一键约束),它将被跳过,其他的将继续。