由于MySQL上缺少计算列,我决定使用before update触发器来解决它。我经常需要根据三列的总和执行SELECT。例如:
SELECT * FROM table WHERE (A+B+C) > 0
因此,我创建了第4列和更新前触发器:
SET new.D = new.A + new.B + new.C;
现在我可以:
SELECT * FROM table WHERE D > 0
但每隔一段时间,我就会发现错误计算的记录。除了触发器之外,我没有为第4列设置其他代码。我不知道会发生什么。任何猜测?
谢谢。