sql >> Database teknologi >  >> RDS >> Mysql

MySQL med Soft-Deletion, Unique Key og Foreign Key Constraints

Tilføj unik begrænsning på felter (brugernavn, slettet) Skift felttype for 'slettet' til INTEGER.

Under sletning (det kan gøres i trigger eller i en del af kode, hvor du faktisk skal slette bruger), kopier værdien af ​​id-feltet til det slettede felt.

Denne tilgang giver dig mulighed for:

  • behold unikke navne for aktive brugere (slettet =0)
  • tillad sletning af brugere med samme brugernavn flere gange

Feltet 'Slettet' kan ikke kun have 2 værdier, fordi følgende scenarie ikke virker:

  1. du opretter brugeren 'Sam'
  2. Brugeren Sam er slettet
  3. Du opretter en ny bruger med brugernavnet 'Sam'
  4. Du prøver at slette bruger med brugernavn 'Sam' - mislykkedes. Du har allerede record userName ='Sam' og slettet ='1'


  1. laravel errno 150 udenlandsk nøgle begrænsning er forkert dannet

  2. Hvordan bruger jeg Expression Builder i Access 2016?

  3. Implementering af inkrementel belastning ved hjælp af Change Data Capture i SQL Server

  4. MySQL ENUM type vs join tabeller