bob*_*bby 4 mysql triggers mariadb
这是我目前的代码:
DROP TRIGGER `backup`;
DELIMITER $$
CREATE TRIGGER `backup` AFTER INSERT UPDATE DELETE
ON `warehouse`
FOR EACH ROW
BEGIN
END$$
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)
这是我不断收到的错误:
我检查了我的 MariaDB 版本。这是 10.1.21
如果我只使用一个事件,它会起作用,但是使用两个或三个事件会引发此错误。
在 MySQL 或 MariaDB 中,必须为一个事件定义每个触发器。您不能定义适用于多个事件的触发器。
https://dev.mysql.com/doc/refman/5.7/en/create-trigger.html的语法如下:
trigger_event: { INSERT | UPDATE | DELETE }
Run Code Online (Sandbox Code Playgroud)
此语法表示法意味着事件必须之一的三个值插入,更新,或删除。
如果我们DESCRIBE INFORMATION_SCHEMA.TRIGGERS:
EVENT_MANIPULATION enum('INSERT','UPDATE','DELETE')
Run Code Online (Sandbox Code Playgroud)
事件类型是 an enum,这意味着它只能有一个值,不能有多个。
您链接到的示例适用于 Microsoft SQL Server,而不是 MySQL 或 MariaDB。
尽管“Microsoft”和“MySQL”都以相似的音节开头,但它们是两种不同的产品,具有不同的功能。