我正在尝试运行以下查询:
update OAR.oa_AcademicHead
set personid=15857
where personid=1234
但我收到了错误:
Cannot insert duplicate key row in object 'OAR.oa_AcademicHead' with unique index 'IX_oa_AcademicHead_personid'.
The statement has been terminated.
可以做些什么来解决这个问题?
答案 0 :(得分:11)
表中已存在personid
为15857
的行。该列上的唯一索引阻止您使用相同的personid
提交另一条记录(更新实际上是删除和插入)。
在运行查询之前,您必须先删除具有该ID的现有人员。*
*免责声明:确保这实际上是您想要做的;注意它可能引起的问题。
答案 1 :(得分:0)
如果在使用ASP.NET MVC时出现错误,请执行以下操作:
db.Entry(personObject).State = EntityState.Modified;
db.Entry(personObject).Property(x => x.personid).IsModified = false;
db.SaveChanges();