gpt4 book ai didi

大于条件的mysql触发器

转载 作者:太空宇宙 更新时间:2023-11-03 10:57:32 24 4
gpt4 key购买 nike

是否可以为大于条件创建触发器。假设我有一列温度,并且每 15 秒后将新值存储在该列中。因此,如果该值变得大于预定义值(例如 100 度),则会生成触发器。有没有可能在mysql中做到这一点?

最佳答案

MySql 不像 Oracle 那样实现条件触发器,例如在 Oracle 中:

CREATE TRIGGER triggername AFTER INSERT ON tablename FOR EACH ROW
WHEN ( condition )
BEGIN
........
END;

触发器仅在满足条件时触发。

在 MySql 中,每次都会触发触发器。
但是,仍然可以在触发器中使用条件 IF 语句,仅在满足某些条件时才执行某些操作,例如:

Create table temperature(
id int primary key auto_increment,
temperature decimal( 5, 1 )
);

Create table temp_above_100(
id int primary key auto_increment,
temperature decimal( 5, 1 )
);

CREATE TRIGGER triggername
AFTER INSERT ON temperature FOR EACH ROW
BEGIN
IF new.temperature >= 100 THEN
INSERT INTO temp_above_100( temperature )
VALUES ( new.temperature );
END IF;
END;/

INSERT INTO temperature( temperature )
VALUES (10), (20), (100), (120 );

单击此链接:http://www.sqlfiddle.com/#!2/6a930/1查看此示例的结果。

关于大于条件的mysql触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18982953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com