mysql> select * from a;
+------+------+------+
| id | name | age |
+------+------+------+
| 1 | A1 | 10 |
| 2 | A2 | 20 |
+------+------+------+mysql> select * from b;
+------+------+------+
| rid | id | age |
+------+------+------+
| 5 | 2 | 20 |
+------+------+------+
希望在表a的age字段更新的时候能够触发表b相应的age字段也更新:
如:
update a set age=age+1 where id=2;
相关的表变为:mysql> select * from a;
+------+------+------+
| id | name | age |
+------+------+------+
| 1 | A1 | 10 |
| 2 | A2 | 21 |
+------+------+------+mysql> select * from b;
+------+------+------+
| rid | id | age |
+------+------+------+
| 5 | 2 | 21 |
+------+------+------+
create trigger update_trig after update on a
for each row
begin
update b set age=NEW.age where id=NEW.id;
end
FOR EACH ROW BEGIN
UPDATE b SET age = new.age WHERE id = NEW.id;
END;
|delimiter ;
for each row
begin
update b set age=NEW.age where id=NEW.id;
end不应该是update吗
我已经测试过了
正确写法
CREATE TRIGGER bbs1 AFTER UPDATE ON
a FOR EACH ROW update b set age=NEW.age where id=NEW.id;
---------------------
绿色php资源 绿色php资源