Запуск обновления в другой таблице после вставки

#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 Kamrava

2. Эта ошибка означает, что у вас уже есть AFTER INSERT триггер в stock_changes таблице. Сначала удалите его…