mysql 实现每月更新一次的触发器问题

mysql 实现每月更新一次的触发器问题,第1张

1、触发器是update后激发的,我想你需要的是mysql计划任务

2、计划任务状态

show variables like '%event%'

3、使用下列的任意一句开启计划任务:

SET GLOBAL event_scheduler = ON

SET @@global.event_scheduler = ON

SET GLOBAL event_scheduler = 1 -- 0代表关闭

SET @@global.event_scheduler = 1

4、创建event语法

help create event

5、实例

实例0:

每5分钟删除sms表上面ybmid为空白且createdate距现时间超过5分钟的数据。

USE test

CREATE EVENT event_delnull

ON SCHEDULE

EVERY 5 MINUTE STARTS '2012-01-01 00:00:00' ENDS '2012-12-31 00:00:00'

DO

DELETE FROM sms WHERE ybmid='' AND TIMEDIFF(SYSDATE(),createdate)>'00:05:00'

实例1:

每天调用存储过程一次:

mysql>delimiter //

mysql>create event updatePTOonSunday

->on schedule every 1 day

->do

->call updatePTO()

->//

Query OK, 0 rows affected (0.02 sec)

这里updatePTO()是数据库里自定义的存储过程

6、查看任务计划:

SELECT * FROM mysql.event\G

在表A中插入数据的时候在表B中同时插入:判断如果存在ID相同的则对它进行更新,ID不存在则进行插入假如两个表名字为A和B,在插入表A数据的同时对表B进行 *** 作createtriggernode_insertafterinsertonAforeachrowbeginupdateBsetB.ID=NE

你好,你的这句话好像不是触发器吧,应该是触发之后执行的语句,还要有一个判断触发的条件,例如,number这个字段更新了之后触发某一事务,则

if(update[number]

.....

不太清楚你的具体意思,希望以上所述对你有所帮助


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8306981.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存