sql - 无法在具有唯一索引的对象中插入重复的键行

标签 sql sql-server database

我正在尝试运行以下查询:

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.

如何解决这个问题?

最佳答案

表中已存在 personid15857 的行。该列上的唯一索引阻止您提交具有相同 personid 的另一条记录(更新实际上是删除和插入)。

在运行查询之前,您必须先删除具有该 ID 的现有人员。*

* 免责声明:确保这确实是您想要做的;请注意它可能导致的问题。

关于sql - 无法在具有唯一索引的对象中插入重复的键行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22209734/

相关文章:

c# - 在解析一长串字符串时优化我对 SQL 表的插入

c# - 确保每次使用 Dapper 访问数据库时数据库连接打开和关闭

mysql - 查找三个相关日期列中的最小值

database - 为什么我不能使用 VBscript 在 DAO.DBEngine.36 中使用 "CompactDatabase"?

c# - 使用不同的端口号连接本地主机上的 mysql 表

mysql - rails : Find all records matching condition for any of the associated objects

php - 为什么不应该使用 mysql_fetch_assoc 超过 1 次?

sql - 删除所有空格并将 SQL 中的多行合并为单行

c# - 如何从 PostgreSQL 写入/读取二进制数据?

sql - 更新表变量