我正在尝试编写MySQL触发器。我有两个看起来像这样的表:
当客户进行购买时,会向每个表添加新记录。我已将列'sku_copy'添加到表B中,因此在创建新记录时不会填充它。
创建新记录时,我希望我的触发器将表A中的'sku'字段复制到表B中的'sku_copy'字段。但是,我遇到的问题是如何构建以下条件触发。
IF:表A中的'order_id'与表B中的'order_id'匹配。那么:将表A记录中的'sku'复制到表B中的匹配'order_id'的记录中。数据应添加到表B“sku_copy”。
ELSE:什么都不做。
有人可以告诉我如何将其写入触发器吗?
感谢您提供任何帮助。
答案 0 :(得分: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 ;
答案 1 :(得分: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 ;