Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySQL中临时禁用单个插入/替换查询的触发器_Mysql_Sql_Triggers - Fatal编程技术网

在MySQL中临时禁用单个插入/替换查询的触发器

在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

是否可以为单个查询禁用表上的单个触发器

我有一个大约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_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]
并在问题中发布输出?