在MySQL中临时禁用单个插入/替换查询的触发器
是否可以为单个查询禁用表上的单个触发器 我有一个大约150行的批处理作业-我只想让触发器仅对此批处理作业禁用,而不想其他任何操作在MySQL中临时禁用单个插入/替换查询的触发器,mysql,sql,triggers,Mysql,Sql,Triggers,是否可以为单个查询禁用表上的单个触发器 我有一个大约150行的批处理作业-我只想让触发器仅对此批处理作业禁用,而不想其他任何操作 // Disable this single trigger for shop_products table REPLACE INTO `shop_products` (`mycolumnid`, `mycoltitle`, `Guid`) VALUES (11, 'hello', '23213-sda-423423'); REPLACE INTO `shop_pro
// Disable this single trigger for shop_products table
REPLACE INTO `shop_products` (`mycolumnid`, `mycoltitle`, `Guid`) VALUES (11, 'hello', '23213-sda-423423');
REPLACE INTO `shop_products` (`mycolumnid`, `mycoltitle`, `Guid`) VALUES (14, 'bye', '53341-sfs-325243');
........
这是我的触发器预设,我只想禁用一次,但不想实际删除它:-
BEGIN
declare _GUID VARCHARACTER(64);
set @GUID = UUID();
SET new.GUID = @GUID;
END
MySQL不允许启用/禁用单个触发器 一件可能对您有用的事情是修改触发器定义,使其仅在您希望的时候触发 例如,您可以修改触发器定义,使其仅在
new.GUID
为空时设置new.GUID
。这样,您就可以显式地为GUID
设置一个值,而不用担心触发器会覆盖它
例如:
IF (new.GUID IS NULL)
THEN
SET new.GUID = @GUID;
END IF;
您能否运行
show create trigger[trigger\u name]
并在问题中发布输出?