¿Sabes lo que significa "eliminación suave"? Significa que cada operación de "eliminación" se convertirá a SQL que solo establecerá algunos deleted
marca a true
. Y si va a insertar otra fila con el mismo valor de campo único que tiene una fila eliminada temporalmente, recibirá este mensaje.
Tienes dos formas de resolver este problema:
- Haga su índice único con dos columnas:su campo único original y
deleted
bandera. Luego obtendrá este error solo cuando intente agregar una fila con los valores de campos únicos existentes solo para no eliminarlos temporalmente. - Evite cometer esta infracción:debe excluir la posibilidad de agregar una fila que duplique otra en campos únicos.
El segundo es el mejor enfoque en mi humilde opinión.