2013-08-01 4 views
0

на самом деле у меня есть таблица продуктов и таблицы price_history, в истории ценовой таблице у меня есть fk_id_prod и ценатриггер MySQL на вставки, вставки рк в другой таблице

мой триггер выглядит следующим образом:

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_history имеет внешний ключ product, запись на product должен существовать перед хранения соответствующего prices_history

Может быть, ваш триггер должен быть уволен AFTER INSERT, не BEFORE INSERT?

Смежные вопросы