MariaDB触发,编辑时自动更新字段?

时间:2016-05-08 06:15:02

标签: sql triggers mariadb edit

我有一个基于Maria DB的数据库和一个表"值"有两个字段(例如):" X"和" Y"。 我想创建一个触发器,在插入和更新X时,使Y = X / 10。

我尝试过这样的事情:

CREATE TRIGGER my_table_trig AFTER UPDATE OF X ON values
BEGIN
     update values SET values.Y = X/10 WHERE X = NEW.X;
END;

但显然它不起作用。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

你遇到了很多问题。这应该更接近

CREATE TRIGGER my_table_trig BEFORE UPDATE ON `values`
FOR EACH ROW
     SET NEW.Y = OLD.X/10;
CREATE TRIGGER my_table_trig BEFORE INSERT ON `values`
FOR EACH ROW
     SET NEW.Y = OLD.X/10;

不清楚:如果X未发生变化,您是否仍希望将Y设置为X/10

注意BEFORENEWOLD,使用SET,而不是UPDATE,2个触发器等。