无法在phpmyadmin上创建触发器

时间:2017-09-04 15:34:23

标签: mysql sql phpmyadmin

我已经查看了关于phpmyadmin触发器的其他答案。有人说要删除CanineBEGIN,所以我做了。许多人说要使用分隔符,我也这样做了。它仍然没有工作。

代码:

END

我还尝试在表名和列名上使用反引号。它总是说同样的事情,我在第2行的DELIMITER // CREATE TRIGGER trig_EnderecoUpdated ON tbdiref3_endereco AFTER UPDATE FOR EACH ROW SET NOCOUNT ON IF UPDATE(MORADOR_ID) INSERT INTO tbdiref3_historico(END_ID, DATA, USUARIO_ID, MORADOR_ANTIGO) SELECT d.ID_END, GETDATE(), USER_NAME(), d.MORADOR_ID FROM Deleted d // DELIMITER ; 附近有语法错误。有什么线索吗?

1 个答案:

答案 0 :(得分:0)

看起来我基于与MySQL不兼容的SQL Server示例。以下代码最终被PHPMyAdmin接受:

CREATE TRIGGER trig_EnderecoUpdated AFTER UPDATE ON tbdiref3_endereco FOR EACH ROW 
    IF NEW.MORADOR_ID != OLD.MORADOR_ID THEN 
        INSERT INTO tbdiref3_historico(END_ID, DATA, USUARIO_ID, MORADOR_ANTIGO) VALUES (OLD.ID_END, NOW(), CURRENT_USER(), OLD.MORADOR_ID); 
    END IF;