【问题标题】:MySQL Trigger perform insert and updateMySQL 触发器执行插入和更新
【发布时间】:2014-09-23 20:17:56
【问题描述】:

我有一个 MySQL after insert 触发器,它将库存表中的值插入到库存审计表中,这工作正常。我需要向触发器添加另一个步骤并且运气不佳。除了插入审计表之外,在原始表中,我还需要使用“modifiedby”中的值更新“createdby”列。

这是有效的触发器。我希望有人可以帮我修改它以添加更新。

CREATE TRIGGER mtenclosures.inventory__ai AFTER INSERT ON mtenclosures.inventory FOR EACH ROW
INSERT INTO mtenclosures.inventory_archive SELECT 'insert', NULL, NOW(), d.* 
FROM mtenclosures.inventory AS d WHERE d.id = NEW.id;

谢谢, 大卫

【问题讨论】:

    标签: mysql


    【解决方案1】:

    试试

    CREATE TRIGGER mtenclosures.inventory__ai AFTER INSERT ON mtenclosures.inventory
    FOREACH ROW
    INSERT INTO mtenclosures.inventory_archive(/column names of mt.inventory_archive)
    VALUES(
    SELECT 'insert', NULL, NOW(), d.* 
    FROM mtenclosures.inventory AS d WHERE d.id = NEW.id;);
    

    这应该可行。

    这有帮助....

    【讨论】:

    • 我不相信这会满足我的需要。我提供的创建触发器非常适合将行插入到 inventory_archive 表中。我还需要它能够使用库存表本身的 modifiedby 列的值更新 createdby 列,而不是 inventory_archive 表。所以我需要以某种方式将更新库存集 createdby = modifiedby 合并到该触发器中。
    • 还有其他建议吗?
    猜你喜欢
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    相关资源
    最近更新 更多