【问题标题】:I want to create more triggers on the same table我想在同一张表上创建更多触发器
【发布时间】:2011-03-07 17:02:40
【问题描述】:

我有 2 个表要在插入、更新或删除时同步 我可以在同一张表上创建多个触发器吗?

我已经写了这样的代码..但是它不起作用..但是当我只创建一个触发器时它可以正常工作。

代码是这样的:

在插入照片之前创建触发照片插入 每一行开始 插入到 old_photo 集 PhotoID = NEW.photo_id, photo_original = NEW.file_name ; 结束;

分隔符 |

在更新照片之前创建触发照片更新 每一行开始 更新 old_photo SET photo_original = NEW.file_name 在哪里 PhotoID = NEW.photo_id ; 结束;

分隔符 |

在删除照片之前创建触发照片删除 每一行开始 从 old_photo 中删除 PhotoID = OLD.photo_id ; 结束;


请问有解决办法吗?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    将所有代码放入单个触发器中。
    您可以在 BEGIN 和 END 之间使用多个语句

    【讨论】:

    • 感谢 Nakti,我尝试这样做,但失败了。但我找到了解决方案..我所做的只是删除分隔符和 BEGIN ,结束代码将是这样的:在插入照片之前创建触发器照片插入每行插入 old_photo SET PhotoID = NEW.photo_id, photo_original = NEW.file_name ;在每行更新照片之前创建触发照片更新 old_photo SET photo_original = NEW.file_name WHERE PhotoID = NEW.photo_id ; CREATE TRIGGER photosdelete BEFORE DELETE ON 照片 FOR EACH DELETE FROM old_photo WHERE PhotoID = OLD.photo_id ;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多