0

我正在尝试编写一个 MySQL 触发器。我有两个看起来像这样的表:

表

当客户进行购买时,每个表中都会添加一条新记录。我已将“sku_copy”列添加到表 B,因此在创建新记录时不会填充它。

创建新记录时,我希望我的触发器将表 A 中的“sku”字段复制到表 B 中的“sku_copy”字段。但是,我遇到的问题是如何在触发器中构造以下条件。

IF:表 A 中的“order_id”与表 B 中的“order_id”匹配。那么:将表 A 记录中的“sku”复制到表 B 中匹配“order_id”的记录。数据应添加到表 B 'sku_copy'。

否则:什么都不做。

有人可以告诉我如何将其写入我的触发器吗?

谢谢你提供的所有帮助。

4

2 回答 2

0

试试这个,但你为什么要为此使用触发器?

 DELIMITER $$
    CREATE TRIGGER trigger_name
        AFTER INSERT ON tableA
        FOR EACH ROW BEGIN

        INSERT INTO tableB
        SET sku_copy = OLD.sku,
             order_id = OLD.order_id,
            order = OLD.order;

    END$$
    DELIMITER ;
于 2013-08-22T17:18:49.567 回答
0

我想在此处和另一个论坛上发布使用示例构建的触发器。感谢所有为此提供帮助的人。

DELIMITER $$

   CREATE TRIGGER sku_AfterInsert
     AFTER INSERT ON uau3h_virtuemart_order_items
     FOR EACH ROW BEGIN

     UPDATE uau3h_virtuemart_orders
     SET order_item_sku_copy = NEW.order_item_sku
     WHERE virtuemart_order_id = NEW.virtuemart_order_id;
  END$$;

DELIMITER ;
于 2013-08-23T17:44:12.873 回答