相关疑难解决方法(0)

MySQL仅在行已更改时才更新

是否有可能仅在数据被真正改变的情况下使用"更新后"触发器.我知道"新旧".但是在使用它们时我只能比较列.例如"NEW.count <> OLD.count".

但我想要的是:如果"NEW <> OLD"则运行触发器

一个例子:

create table foo (a INT, b INT);
create table bar (a INT, b INT);

INSERT INTO foo VALUES(1,1);
INSERT INTO foo VALUES(2,2);
INSERT INTO foo VALUES(3,3);

CREATE TRIGGER ins_sum
    AFTER UPDATE ON foo
    FOR EACH ROW
    INSERT INTO bar VALUES(NEW.a, NEW.b);

UPDATE foo SET b = 3 WHERE a=3;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0


select * from bar;
+------+------+
| a    | b    | …
Run Code Online (Sandbox Code Playgroud)

mysql sql database triggers

63
推荐指数
4
解决办法
17万
查看次数

MySQL触发器问题:仅在更改列时触发?

我不知道这是否可行,但我active在表中有一个列.每当活动列发生更改时,我想重置date列中的日期,但只有active列发生更改时才会重置.

如果更改了其他列但未更改active列,则日期将保持不变.

mysql triggers

19
推荐指数
2
解决办法
3万
查看次数

标签 统计

mysql ×2

triggers ×2

database ×1

sql ×1