gpt4 book ai didi

mysql - 创建触发器以在 TRUNCATE TABLE 之前运行

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:12 24 4
gpt4 key购买 nike

我可以在 TRUNCATE TABLE 之前使用 MySQL 触发器吗?

我用 Google 搜索过,但找不到任何答案。

附言我在 DELETE 之前创建了触发器,但是当我运行 TRUNCATE TABLE xxx 时,触发器没有启动;它仅在我在查询中使用 DELETE 而不是 TRUNCATE 时启动。

最佳答案

您是否尝试阅读特定文档?触发器仅适用于 DML 语句 (INSERT | UPDATE | DELETE) 而不适用于 DDL 命令 (TRUNCATE)。

由于您标记了 MySQLSQL Server

MySQL Documentation ; create trigger 语法说

CREATE
[DEFINER = { user | CURRENT_USER }]
TRIGGER trigger_name
trigger_time trigger_event
ON tbl_name FOR EACH ROW
trigger_body

Where trigger_event: { INSERT | UPDATE | DELETE }

SQL Server Documentation ; create trigger 语法说

CREATE TRIGGER [ schema_name . ]trigger_name 
ON { table | view }
[ WITH <dml_trigger_option> [ ,...n ] ]
{ FOR | AFTER | INSTEAD OF }
{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }

如您所见,trigger 事件只是INSERT |更新 |删除。不可能在 truncate 语句中使用触发器。

关于mysql - 创建触发器以在 TRUNCATE TABLE 之前运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25858793/

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