Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql触发器不工作。为什么?_Mysql_Triggers - Fatal编程技术网

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这现在很好用:)对于删除和更新,我可以使用相同的或?