在MySQL中的触发器中使用聚合功能
-
20-09-2019 - |
题
我有一个带有几个属性在内的“人”桌子。每次我将一个新的元组插入此表中时,我都想找出表中列出的所有人的平均年龄。如果平均值高于50,我想修改插入元组的年龄。我正在为此使用“插入”触发器。这是我当前拥有的测试代码(您可以忽略“定界符”行):
delimiter |
CREATE TRIGGER checkAge BEFORE INSERT ON People
FOR EACH ROW BEGIN
IF AVG(age) > 50 THEN
SET NEW.age = 20;
END IF;
END
|
delimiter ;
我究竟做错了什么?
解决方案
您的平均值仅为1个值(每行)您最好使用人的选择AVG(年龄)
不隶属于 StackOverflow