Mysql 如何在一个sql触发器中使用多个事件?

Mysql 如何在一个sql触发器中使用多个事件?,mysql,triggers,mariadb,Mysql,Triggers,Mariadb,这是我目前的代码: DROP TRIGGER `backup`; DELIMITER $$ CREATE TRIGGER `backup` AFTER INSERT UPDATE DELETE ON `warehouse` FOR EACH ROW BEGIN END$$ DELIMITER ; 这就是我一直遇到的错误: 我检查了我的MariaDB版本。现在是10.1.21 如果我只使用一个事件,它就可以工作,但是如果使用两个或三个事件,

这是我目前的代码:

DROP TRIGGER `backup`;

DELIMITER $$
CREATE TRIGGER `backup` AFTER INSERT UPDATE DELETE
    ON `warehouse`
    FOR EACH ROW 
        BEGIN

        END$$
DELIMITER ;
这就是我一直遇到的错误:

我检查了我的MariaDB版本。现在是10.1.21

如果我只使用一个事件,它就可以工作,但是如果使用两个或三个事件,它就会抛出这个错误


在MySQL或MariaDB中,必须为一个事件定义每个触发器。不能定义适用于多个事件的触发器

具有以下语法:

trigger_event: { INSERT | UPDATE | DELETE }
此语法表示法意味着事件必须是三个值INSERT、UPDATE或DELETE中的一个

如果我们
描述信息\u模式,就会发现另一条线索。触发器

EVENT_MANIPULATION enum('INSERT','UPDATE','DELETE')
事件类型为
enum
,这意味着它只能有一个值,不能有多个值

您链接到的示例适用于Microsoft SQL Server,而不是MySQL或MariaDB


尽管“Microsoft”和“MySQL”都以相似的音节开头,但它们是两种不同的产品,具有不同的功能。

您必须为INSERT、UPDATE和DELETE创建三个单独的触发器。我有什么办法可以一次完成这一切吗?我发现了一些示例,语法如上图所示。请提供一个指向此类示例的链接。@RickJames我编辑的问题该链接指向一个关于SQL Server的问题,它与MySQL完全不同。小心,不要将研究局限于同一个RDBMS引擎;有很多不同之处。(MySQL和MaraiDB实际上是完全相同的。)