sql >> Base de Datos >  >> RDS >> Mysql

Inserción condicional MySql con valores dinámicos

En lugar de un activador, puede escribir su propia consulta simple para verificar las "restricciones" antes de insertar. Prueba:

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)

Lo he usado para verificar en caso de Type_ID =5. Esto ignora si no se cumple el criterio de conteo e inserta solo si el conteo de miembros de entradas en member_info con tipo id =5 es menor que el límite establecido en sus member_types mesa