Invece di un trigger potresti scrivere la tua query semplice per controllare i "vincoli" prima dell'inserimento. Prova:
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)
Ho usato per controllare in caso di Type_ID
=5. Questo ignora se il criterio di conteggio non è soddisfatto e inserisce solo se il conteggio dei membri delle voci in member_info con tipo id =5 è inferiore al limite impostato nel tuo member_types
tabella