2

我有一个“人”表,其中包含“年龄”等多个属性。每次我在这个表中插入一个新元组时,我都想找出表中列出的所有人的平均年龄。如果平均值高于 50,我想修改正在插入的元组中的年龄。我为此使用了“BEFORE INSERT”触发器。这是我目前拥有的测试代码(您可以忽略“分隔符”行):

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 ;

我究竟做错了什么?

4

1 回答 1

0

您仅计算 1 个值的平均值(对于每一行)您最好使用 SELECT AVG(age) FROM People

于 2009-11-16T00:43:48.453 回答