Mysql触发器不工作。为什么?
我做错了什么Mysql触发器不工作。为什么?,mysql,triggers,Mysql,Triggers,我做错了什么 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 其思想是,在插入类似以下内容后,计算文章中
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
在餐桌上预定
如何解决这个问题
WHERE `ST`.`articlenr` = NEW.`article`;
新的不是一列
=(SELECT SUM(`test`.`bookings`.`amount`) FROM `test`.`bookings` GROUP BY article)
什么是“不工作”?MySQL meldet:Dokumentation#1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解第5行“.article”附近要使用的正确语法。如果您有聚合函数,请添加分组依据。FROM“table”组正确吗?-#1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解使用near“table GROUP BY
article
)的正确语法,其中ST
articlenr
=新建。article
;在第四行结束耶稣,你的桌子名是哪一个?预订或文章?谢谢:D这现在很好用:)对于删除和更新,我可以使用相同的或?