Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insertion conditionnelle MySql avec des valeurs dynamiques

Au lieu d'un déclencheur, vous pouvez écrire votre propre requête simple pour vérifier les "contraintes" avant l'insertion. Essayez :

INSERT INTO member_infos
SELECT      1, 'Timothy', 'secret', '[email protected]', 5, 0
FROM        dual
WHERE       (SELECT COUNT(*) FROM member_infos WHERE Type_ID = 5) 
            < 
            (SELECT Member_Limit FROM member_types WHERE ID = 5)

J'ai utilisé pour vérifier en cas de Type_ID =5. Cela ignore si le critère de nombre n'est pas rempli et insère uniquement si le nombre de membres d'entrées dans member_info avec le type id =5 est inférieur à la limite définie dans votre member_types tableau