更新触发器上的Mysql更新

时间:2017-04-19 08:48:06

标签: mysql triggers workbench

我有一个非规范化数据库,其中我将其他表的总点数放入驱动程序表中。我想在更新点所在的表时更新表驱动程序的总点数。

这样的事情:

int x = 1
long y = 1

x.equals(y)

但我无法更新触发器内部。我也试过一个程序,但我真的不知道该怎么做。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果' numpoints'可以在'点'您可以将表格添加到' drivers'通过触发器进行每次更新。但是,如果您要更改' driverID'同样。请尝试以下方法。

这里'新'关键字为您提供了您要更改的新值以及“旧”' keyword为您提供表中存在的值。

CREATE TRIGGER sanciones_trigger BEFORE UPDATE ON points
FOR EACH ROW
UPDATE drivers
SET total_points= drivers.total_points + (NEW.numpoints - OLD.numpoints)
    WHERE pID = NEW.driverID;