gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:32:07 25 4
gpt4 key购买 nike

这是我目前的代码:

DROP TRIGGER `backup`;

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

END$$
DELIMITER ;

这是我不断收到的错误:

enter image description here

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

如果我只使用一个事件,它会起作用,但如果有两个或三个,它就会抛出这个错误。

Insert Update trigger how to determine if insert or update

最佳答案

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

https://dev.mysql.com/doc/refman/5.7/en/create-trigger.html有语法:

trigger_event: { INSERT | UPDATE | DELETE }

此语法表示法表示事件必须是 INSERT、UPDATE 或 DELETE 三个值之一

如果我们 DESCRIBE INFORMATION_SCHEMA.TRIGGERS 会发现另一条线索:

EVENT_MANIPULATION enum('INSERT','UPDATE','DELETE')

事件类型是一个枚举,这意味着它只能有一个值,不能有多个。

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

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

关于mysql - 如何在一个sql触发器中使用多个事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46017640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com