mysql 删除后的触发器未编译,我不知道

up9lanfz  于 2023-03-28  发布在  Mysql
关注(0)|答案(2)|浏览(109)

下面的代码不是由HeidiSQL在MYSQL库中编译的

BEGIN

    if NOT EXISTS (SELECT * FROM pedido_itens WHERE ID_PEDIDO = OLD.ID_pedido)
        DELETE from pedido WHERE pedido.ID = pedido_itens.old.ID_PEDIDO;
        END if;
END

我试图创建一个触发器,当“pedido_itens”表中没有更多的项目时,从“pedido”表中删除。但我无法编译,我不明白我哪里出错了。提前感谢所有帮助。我是该领域的新手。

dwbf0jvd

dwbf0jvd1#

我明白了,必须改变一些细节。但大部分的“当时”都不见了

BEGIN

    IF (SELECT COUNT(*) pedido_itens WHERE ID_PEDIDO = OLD.ID_pedido) >0 THEN
    
        DELETE from pedido WHERE pedido.ID = OLD.ID_PEDIDO;
        END IF; 
    END
q1qsirdb

q1qsirdb2#

在if语句中,您应该使用'then',它表示您要对if执行什么操作。

BEGIN
        IF (SELECT COUNT(*) pedido_itens WHERE ID_PEDIDO = pedido_itens.OLD.ID_pedido) > 0 
        THEN
            DELETE from pedido WHERE pedido.ID = pedido_itens.OLD.ID_PEDIDO;
            END IF; 
        END

相关问题