2627: Violation of PRIMARY KEY / UNIQUE KEY constraint. Cannot insert duplicate key in object(违反 PRIMARY KEY / UNIQUE KEY 约束。不能在对象中插入重复键)
SQL Server含义
你尝试插入或更新的值在受 PRIMARY KEY 或 UNIQUE 约束保护的列中已经存在。不接受重复键。
原因
第二次插入相同的唯一值、UPDATE 与已有值冲突、缺少唯一性检查,或两个并发请求生成了相同的行。
解决方法
插入前检查行是否已存在,或使用 MERGE / IF NOT EXISTS。对于幂等插入,采用 "INSERT ... WHERE NOT EXISTS" 模式。捕获错误并返回有意义的消息。如果确实需要重复数据,重新审视该约束。生成键时使用 IDENTITY 或 SEQUENCE 以避免冲突。
同一数据库的其他条目
- 1205Transaction (Process ID) was deadlocked on lock resources with another process and has been chosen as the deadlock victim(事务(进程 ID)与另一个进程在锁资源上发生死锁,已被选为死锁牺牲者)
- 2601Cannot insert duplicate key row in object with unique index. The duplicate key value is ...(不能在具有唯一索引的对象中插入重复键行。重复键值为 ...)
- 547The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint(INSERT/UPDATE/DELETE 语句与 FOREIGN KEY / CHECK 约束冲突)
- 18456Login failed for user(用户登录失败)
- 8152String or binary data would be truncated(字符串或二进制数据将被截断)