2627: Violation of PRIMARY KEY / UNIQUE KEY constraint. Cannot insert duplicate key in object (violación de restricción PRIMARY KEY / UNIQUE KEY; clave duplicada)
SQL Server¿Qué significa?
Intentó insertar o actualizar un valor que ya existe en columnas protegidas por una restricción PRIMARY KEY o UNIQUE. No se aceptan claves duplicadas.
¿Por qué ocurre?
Insertar el mismo valor único por segunda vez, un UPDATE que colisiona con un valor existente, la ausencia de una comprobación de unicidad o dos peticiones concurrentes que generan la misma fila.
Cómo solucionarlo
Compruebe si la fila existe antes de insertarla o use MERGE / IF NOT EXISTS. Para inserciones idempotentes, aplique el patrón "INSERT ... WHERE NOT EXISTS". Capture el error y devuelva un mensaje significativo. Si realmente necesita datos duplicados, revise la restricción. Use IDENTITY o SEQUENCE para evitar colisiones al generar claves.
Más entradas de este motor
- 1205Transaction (Process ID) was deadlocked on lock resources with another process and has been chosen as the deadlock victim (la transacción quedó en deadlock y fue elegida como víctima)
- 2601Cannot insert duplicate key row in object with unique index. The duplicate key value is ... (fila con clave duplicada en un índice único)
- 547The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint (la sentencia entró en conflicto con la restricción FOREIGN KEY / CHECK)
- 18456Login failed for user (error de inicio de sesión del usuario)
- 8152String or binary data would be truncated (los datos de cadena o binarios se truncarían)