sql >> Database >  >> RDS >> Mysql

MySQL met Soft-Deletion, Unique Key en Foreign Key-beperkingen

Voeg unieke beperking toe aan velden (gebruikersnaam, verwijderd) Wijzig veldtype voor 'verwijderd' in INTEGER.

Tijdens het verwijderen (dit kan worden gedaan in de trigger of in een deel van de code waar u de gebruiker daadwerkelijk moet verwijderen) kopieert u de waarde van het id-veld naar het verwijderde veld.

Met deze aanpak kunt u:

  • bewaar unieke namen voor actieve gebruikers (verwijderd =0)
  • sta meerdere keren toe dat gebruikers met dezelfde gebruikersnaam worden verwijderd

Veld 'Verwijderd' kan niet slechts 2 waarden hebben omdat het volgende scenario niet zal werken:

  1. u maakt gebruiker 'Sam' aan
  2. Gebruiker Sam is verwijderd
  3. U maakt een nieuwe gebruiker aan met gebruikersnaam 'Sam'
  4. U probeert gebruiker te verwijderen met gebruikersnaam 'Sam' - mislukt. Je hebt al record gebruikersnaam ='Sam' en verwijderd ='1'


  1. PSQLEException:ERROR:relatie TABLE_NAME bestaat niet

  2. Een MySQL-database maken met behulp van de opdrachtregelinterface (CLI)

  3. Het standaardspoor verwijderen - Deel 3

  4. verwijder sqlite-database bij het bijwerken van een nieuwe versie van de applicatie