2013-08-01 103 views
0

其實我有一個表的產品和表price_history,表中的價格歷史記錄我有一個fk_id_prod和價格觸發的MySQL,插入PK其他表

下了扳機看起來是這樣的:

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約束。

我該如何處理?

感謝您的幫助

+0

對不起,我的愚蠢的錯誤。 我之前觸發而不是插入後。 –

回答

1

如果table prices_historyproduct外鍵,就必須product的記錄存在之前保存相應prices_history

也許您的觸發應該被解僱AFTER INSERT,不BEFORE INSERT