Comment gérer les entrées en double avec des déclencheurs dans MySQL
Lors de la maintenance d'une table avec des contraintes uniques qui s'étendent au-delà des limitations de longueur de clé, telles que comme dans le cas de longues chaînes de paramètres, des déclencheurs peuvent être utilisés pour appliquer ces contraintes. Cet article explique comment gérer les entrées en double et lever des exceptions pour avertir votre application.
Lancement d'exceptions
Pour lever une exception et renvoyer une erreur à votre code C#, vous peut utiliser l'instruction SIGNAL dans votre déclencheur. Le code suivant montre comment :
DECLARE msg VARCHAR(255); IF (SomeTestToFail = "FAIL!") THEN SET msg = "DIE: You broke the rules... I will now Smite you, hold still..."; SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = msg; END IF;
Ce code définit un message d'erreur et signale une exception avec l'état SQL « 45000 ». Vous pouvez ensuite capturer cette exception dans votre code C#.
Autoriser les insertions
Pour autoriser les insertions si aucune entrée en double n'existe, vous pouvez utiliser le code suivant :
IF num_rows = 0 THEN -- Allow insert END IF;
Ce code vérifie si le nombre d'entrées en double (num_rows) est 0. Si tel est le cas, l'insertion est autorisée à continuez.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!