Ajouter une contrainte unique sur les champs (nom d'utilisateur, supprimé) Changer le type de champ pour 'supprimé' en INTEGER.
Pendant l'opération de suppression (cela peut être fait dans le déclencheur ou dans une partie du code où vous devez réellement supprimer l'utilisateur), copiez la valeur du champ id dans le champ supprimé.
Cette approche vous permet :
- conserver des noms uniques pour les utilisateurs actifs (supprimé =0)
- autoriser la suppression d'utilisateurs avec le même nom d'utilisateur plusieurs fois
Le champ "Supprimé" ne peut pas avoir que 2 valeurs car le scénario suivant ne fonctionnera pas :
- vous créez l'utilisateur 'Sam'
- L'utilisateur Sam est supprimé
- Vous créez un nouvel utilisateur avec le nom d'utilisateur 'Sam'
- Vous essayez de supprimer l'utilisateur avec le nom d'utilisateur 'Sam' - échec. Vous avez déjà enregistré userName ='Sam' et supprimé ='1'