当前位置:Gxlcms > mysql > 一个简单MySQL触发器例子_MySQL

一个简单MySQL触发器例子_MySQL

时间:2021-07-01 10:21:17 帮助过:22人阅读

bitsCN.com

一个简单MySQL触发器例子

有这样一个需求,更新某张表的某个字段时,要先判断,如果新值比表中老值小,则将老值和新值相加,然后更新;否则正常更新。考虑用MySQL的触发器实现,更新时触发。

下面是具体的sql, 一看便知。

[sql]

-- 删除触发器

DROP TRIGGER trigger_ads;

-- 创建触发器

DELIMITER //

CREATE TRIGGER trigger_ads BEFORE UPDATE ON stats_ads

FOR EACH ROW

BEGIN

IF OLD.VIEW > NEW.VIEW THEN

SET NEW.VIEW = OLD.VIEW + NEW.VIEW;

END IF;

IF OLD.view_unique > NEW.view_unique THEN

SET NEW.view_unique = OLD.view_unique + NEW.view_unique;

END IF;

IF OLD.click > NEW.click THEN

SET NEW.click = OLD.click + NEW.click;

END IF;

IF OLD.click_unique > NEW.click_unique THEN

SET NEW.click_unique = OLD.click_unique + NEW.click_unique;

END IF;

IF OLD.START > NEW.START THEN

SET NEW.START = OLD.START + NEW.START;

END IF;

IF OLD.start_unique > NEW.start_unique THEN

SET NEW.start_unique = OLD.start_unique + NEW.start_unique;

END IF;

IF OLD.landing > NEW.landing THEN

SET NEW.landing = OLD.landing + NEW.landing;

END IF;

IF OLD.landing_unique > NEW.landing_unique THEN

SET NEW.landing_unique = OLD.landing_unique + NEW.landing_unique;

END IF;

END;

//

最后可以通过下面sql语句查看所有触发器:

[sql]

-- 查看mysql触发器

SELECT * FROM information_schema.`TRIGGERS`;

bitsCN.com

人气教程排行