Zamiast wyzwalacza możesz napisać własne proste zapytanie, aby sprawdzić „ograniczenia” przed wstawieniem. Wypróbuj:
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)
Kiedyś sprawdzałem w przypadku Type_ID
=5. To ignoruje, jeśli kryterium liczby nie jest spełnione i wstawia tylko, jeśli liczba elementów członkowskich w member_info z typem id =5 jest mniejsza niż limit ustawiony w member_types
stół