在插入时触发mysql,在其他表中插入pk

时间:2013-08-01 15:50:18

标签: mysql triggers insert

实际上我有一个表产品和一个表price_history,在表价格历史中我有一个fk_id_prod和价格

我的触发器如下所示:

DELIMITER $$
DROP TRIGGER IF EXISTS price_insert $$
CREATE TRIGGER price_insert BEFORE INSERT
ON products
FOR EACH ROW
BEGIN

INSERT INTO prices_history(id_prod, price) VALUES (NEW.id_prod, NEW.price);

END;
$$

我刚刚学会了如何创建触发器,因此可能会出现一些错误。

我的问题:

由于fk约束,我无法在我的表格产品中插入任何数据。

我该如何处理?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

如果table prices_historyproduct上有外键,则product上的记录必须存在 存储相应的prices_history

之前

也许你的触发器应该被解雇AFTER INSERT,而不是BEFORE INSERT