Empêcher les INSERTS MySQL avec un déclencheur
Pour empêcher l'insertion d'une ligne lorsqu'une condition spécifique est remplie, comme une date de naissance définie dans le futur , vous pouvez créer un déclencheur. Voici comment :
CREATE TRIGGER foo BEFORE INSERT ON table FOR EACH ROW BEGIN IF NEW.birthdate > CURRENT_DATE() THEN SIGNAL SQLSTATE '45000'; END IF; END;
Annulation de l'insertion
Pour annuler l'insertion dans le déclencheur, utilisez la syntaxe SIGNAL SQLSTATE. Par exemple, pour générer une erreur lorsque la date de naissance est dans le futur, vous utiliserez :
SIGNAL SQLSTATE '45000';
Cela lancera une exception non gérée définie par l'utilisateur et empêchera l'insertion.
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!