Lägg till unika begränsningar för fält (användarnamn, borttaget) Ändra fälttyp för "borttaget" till INTEGER.
Under raderingsoperationen (det kan göras i triggern, eller i en del av koden där du faktiskt behöver ta bort användare) kopiera värdet av id-fältet till borttaget fält.
Detta tillvägagångssätt låter dig:
- behåll unika namn för aktiva användare (raderad =0)
- tillåt radering av användare med samma användarnamn flera gånger
Fältet "Deleted" kan inte ha endast 2 värden eftersom följande scenario inte fungerar:
- du skapar användaren 'Sam'
- Användaren Sam har tagits bort
- Du skapar en ny användare med användarnamnet 'Sam'
- Du försöker ta bort användare med användarnamnet "Sam" - misslyckas. Du har redan record userName ='Sam' och raderad ='1'