2013-12-16 5 views
0

Что я делаю неправильно?Mysql Trigger не работает. Зачем?

CREATE TRIGGER `Calc` AFTER INSERT on `test`.`bookings` FOR EACH ROW 
BEGIN 
UPDATE `test`.`article` AS `ST` 
SET `ST`.`stock` = SUM(`test`.`bookings`.`amount`) 
WHERE `ST`.`articlenr` = `test`.`bookings`.`NEW.article`; 
END 

Идея заключается в том, чтобы вычислить "СТОК" в статье, после вставки, как:

Amount: 1 Article: 123 

на бронирование столов.

Как это можно решить?

+1

Что такое * "не работает" *? – Kermit

+0

MySQL meldet: Dokumentation # 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «.article» в строке 5 – HKK

ответ

0
WHERE `ST`.`articlenr` = NEW.`article`; 

Новый его не столбец

=(SELECT SUM(`test`.`bookings`.`amount`) FROM `test`.`bookings` GROUP BY article) 
+0

Теперь я получаю эту ошибку! # 1111 - Недействительное использование групповой функции – HKK

+0

Добавьте группу, если у вас есть агрегатная функция. – Mihai

+0

Простите, что это? – HKK

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