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;
如果记录更新失败(例如,由于唯一键约束),它将被跳过,其他的将继续。
我有以下脚本:
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;
如果记录更新失败(例如,由于唯一键约束),它将被跳过,其他的将继续。