#mysql #sql
#mysql #sql
Вопрос:
Я хочу, чтобы поле current_price в таблице stock обновлялось при вставке нового в таблицу stock_changes.
Таким образом, stock.current_price должен быть обновлен до stock_changes.current_price
Я пробовал с триггерами, но это не сработает.
CREATE TRIGGER update_stock
AFTER INSERT ON stock_changes
FOR EACH ROW
UPDATE stock
SET current_price =NEW.current_price
WHERE id = NEW.stock_id;
Ответ №1:
Вам нужно использовать DELIMITER
.
Попробуй это :
DELIMITER $
CREATE TRIGGER update_stock
AFTER INSERT ON stock_changes
FOR EACH ROW
begin
UPDATE stock
SET current_price =NEW.current_price
WHERE id = NEW.stock_id;
end;
$
DELIMITER ;
Комментарии:
1. С помощью этого кода я получаю сообщение об ошибке:
#1235 - This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table
@Hamed Kamrava2. Эта ошибка означает, что у вас уже есть
AFTER INSERT
триггер вstock_changes
таблице. Сначала удалите его…