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

¿Cómo hacer un disparador que implemente esta condición?

Aquí hay un disparador para ese propósito:

DELIMITER $$
CREATE trigger update_money_after_paym
AFTER INSERT ON paym
FOR EACH ROW
BEGIN
    IF (NEW.table1 IS NOT NULL AND NEW.table2 IS NOT NULL) THEN
        UPDATE money SET total_money = total_money + 50 WHERE username = NEW.username;
    END IF;
END;
$$
DELIMITER;

El código se ejecutará después de cada inserción en la tabla paym . Si el registro recién insertado tiene ambas columnas table1 y table2 establecido en no NULL valores, luego el activador ejecuta una UPDATE consulta que agrega 50 a la columna total_money en la tabla money para el registro que tiene el mismo username como el registro recién insertado en paym .