首页 > 解决方案 > 有人可以解释我的触发器中的错误吗?

问题描述

DELIMITER //
    CREATE TRIGGER ATUALIZAR_EMPRESTIMO AFTER INSERT ON EMPRESTIMO FOR EACH ROW 
    BEGIN
        UPDATE EXEMPLAR EX SET STATUS = 'EP' FROM EMPRESTIMO E, EMPRESTIMO_EXEMPLAR EE
            WHERE EE.CDEMPRESTIMO = NEW.CDEMPRESTIMO AND EE.CDEXEMPLAR = EX.CDEXEMPLAR;
    END//
DELIMITER ;

标签: mysql

解决方案


你可以试试这个,但你最终将不得不限制你选择的结果,或者至少连接结果左右

DELIMITER //
CREATE TRIGGER ATUALIZAR_EMPRESTIMO AFTER INSERT ON EMPRESTIMO FOR EACH ROW 
BEGIN
    UPDATE EXEMPLAR EX SET STATUS = (SELECT 'EP' FROM EMPRESTIMO E, EMPRESTIMO_EXEMPLAR EE
        WHERE EE.CDEMPRESTIMO = NEW.CDEMPRESTIMO AND EE.CDEXEMPLAR = EX.CDEXEMPLAR);
END//
DELIMITER ;

推荐阅读