Weet je wat 'zacht verwijderen' betekent? Het betekent dat elke "verwijder"-bewerking wordt geconverteerd naar SQL die slechts enkele deleted
markeer naar true
. En als u een andere rij invoegt met dezelfde waarde van een uniek veld met een zacht verwijderde rij, krijgt u dit bericht.
U kunt dit probleem op twee manieren oplossen:
- Maak uw unieke index met twee kolommen:uw originele unieke veld en
deleted
vlag. Dan krijgt u deze foutmelding alleen wanneer u een rij probeert toe te voegen met de bestaande unieke veldwaarden alleen voor niet zacht verwijderd. - Vermijd deze overtreding:u moet de mogelijkheid uitsluiten om een rij toe te voegen die een andere dupliceert in unieke velden.
De tweede is de beste aanpak IMHO.