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

Como fazer o trigger que implementa essa condição?


Aqui está um gatilho para esse fim:
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;

O código será executado após cada inserção na tabela paym . Se o registro recém-inserido tiver ambas as colunas table1 e table2 definido como não-NULL valores, então o gatilho executa um UPDATE consulta que adiciona 50 à coluna total_money na tabela money para o registro que tem o mesmo username como o registro recém-inserido em paym .