如何创建一个Trigger(Mysql)

时间:2016-10-27 10:13:47

标签: mysql triggers

我是SQL的新手,所以我请求你的帮助。在我的数据库中,我有一个名为" table"一些字段为" name"," lat"," lng"," error"。现在我想检查每个更新事件该表的错误字段并删除具有错误值>的行。 3.我认为Trigger可用于此角色,我编写了以下代码:

DELIMITER $$

DROP TRIGGER IF EXISTS `trigger_update`;
DELIMITER //
CREATE TRIGGER `trigger_update` AFTER UPDATE ON `table`
 FOR EACH ROW BEGIN
        DELETE FROM `table` WHERE error > 3;

    END
//
DELIMITER ; 

但是当我更新表并且行的错误字段高于3时没有任何反应。 我很抱歉我的英语和代码中的错误。感谢eveybody。

UPDATE @RiggsFolly,你说用这种方式修改代码吗?我接受了一个sintax错误。

DELIMITER $$

DROP TRIGGER IF EXISTS `trigger_update`;
CREATE TRIGGER `trigger_update` AFTER UPDATE ON `table`
 FOR EACH ROW BEGIN
        DELETE FROM `table` WHERE error > 3;

    END;$$
DELIMITER ;

@Jmons我知道这个,名字"表"仅作为示例,在DB中,表具有不同的名称,谢谢。 我插错了标签,对不起。

1 个答案:

答案 0 :(得分:0)

您不能在与触发器相同的表上执行delete语句。 以下是一个很好的解释:https://stackoverflow.com/a/27094683/4505007