相关疑难解决方法(0)

仅对一张表禁用触发器

是否可以暂时禁用触发器,但仅针对一张表。

例如,我有一个表,带有插入、更新和删除触发器的 TableA。我也有一个具有相同触发器的表 B,但它们只影响表 A 中的某些列。

我现在有一个使用两个表的更新查询。我知道表 A 中的更新需要触发触发器,但表 B 中的更新绝对不需要触发触发器。所以我想禁用这些触发器,直到更新完成。

这可能吗?我正在使用 MySQL 5.1

[附录]

这是一个触发器表A本质上

BEGIN
    IF (OLD.status != 1 AND NEW.status = 2) THEN
        IF (OLD.geo_lat IS NOT NULL AND OLD.geo_long IS NOT NULL) THEN
            DELETE FROM geo WHERE datatype IN (3,4) AND foreignid = NEW.id;
        END IF;
    ELSEIF (OLD.Status = 1 AND NEW.Status != 2) THEN
        IF (NEW.geo_lat IS NOT NULL AND NEW.geo_long IS NOT NULL) THEN
            INSERT INTO geo (datatype, foreignid, long, lat, hostid, morton, status) …
Run Code Online (Sandbox Code Playgroud)

mysql trigger

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×1

trigger ×1