Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Bedingter MySql-Einsatz mit dynamischen Werten

Anstelle eines Triggers könnten Sie Ihre eigene einfache Abfrage schreiben, um die "Einschränkungen" vor dem Einfügen zu überprüfen. Versuchen Sie:

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)

Früher habe ich im Fall von Type_ID überprüft =5. Dies ignoriert, wenn das Zählkriterium nicht erfüllt ist, und fügt nur ein, wenn die Anzahl der Mitglieder von Einträgen in member_info mit der Typ-ID =5 kleiner als die in Ihren member_types festgelegte Grenze ist Tabelle