Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Inserção condicional do MySql com valores dinâmicos


Em vez de um gatilho, você pode escrever sua própria consulta simples para verificar as "restrições" antes de inserir. Tentar:
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)

Eu costumava verificar no caso de Type_ID =5. Isso ignora se o critério de contagem não for atendido e insere apenas se a contagem de membros de entradas em member_info com tipo id =5 for menor que o limite definido em seu member_types tabela