Mysql根据数据库的时间字段到点更新另外的状态。
来源:互联网 发布:淘宝第三层级什么意思 编辑:程序博客网 时间:2024/05/17 21:41
需求如下:
添加一条提醒,被提醒人在提醒时间未到达的时候收不到此提醒,提醒时间到了则更改状态,被提醒人看到该提醒。
我们要做的就是:根据提醒时间与当前系统时间比对,如果提醒时间小于等于当前时间时候,更改状态为正常状态值。
实现如下:
1. 开启event_scheduler sql指令
show variables like '%event_scheduler%';
SET GLOBAL event_scheduler = ON;SET @@global.event_scheduler = ON;SET GLOBAL event_scheduler = 1;SET @@global.event_scheduler = 1;
2. 定义存储过程
DELIMITER |DROP PROCEDURE IF EXISTS update_remind_status |CREATE PROCEDURE update_remind_status()BEGINIF exists (select id from remind where status='1' and SYSDATE()>=remind_time) THENupdate remind_receive set `status`='1'where remind_id in (SELECT id from remind where `status`='1' and SYSDATE()>=remind_time) and `status`='3';END IF;END |DELIMITER;
3. 创建定时器,每间隔一秒调用一次存储过程。
DELIMITER //CREATE EVENT event_remind_statusON SCHEDULE EVERY 1 second dobegincall update_remind_status();end //DELIMITER;
ALTER EVENT event_remind_status ON COMPLETION PRESERVE ENABLE;
经过测试可成功。
参考文章 Mysql event时间触发器 , 定时更新表字段的值 。
0 0
- Mysql根据数据库的时间字段到点更新另外的状态。
- 根据表中的一个字段查找另外一个表的ID更新到这个表的字段上
- mysql批量更新数据库的某一个字段
- 关于数据库更新字段,对更新时间的设置
- mysql中timestamp字段,在更新这个字段其他数据时候,不更新timestamp的时间
- 根据一个表更新另外一表的数据
- mysql根据字段查询数据库中的存在该字段的所有数据表
- 根据文件名中含有的scriptid更新数据库中的对应的Version字段
- 在mysql数据库中关于日期时间字段的处理
- mysql 字符字段的更新
- mysql更新字段的语句
- mysql的从另外一张表update多个字段
- mysql创建一个改变固定字段才更新时间的时间戳timestamp
- 数据库数据根据每个字段的排名
- mysql表根据时间戳字段创建表分区的存储过程
- 把另外一个表的字段数据更新到本表的字段中
- mongodb如何实现更新一个字段的值为另外一个字段的值?
- 根据字段更新数据库,同字段多个值只更新一条
- cocos2dx学习之路-------如何实现map地图适配(仅供参考)
- hdu1226
- MySQL常见面试题
- IP 多播地址与MAC多播地址的映射关系
- Delphi Runtime Library在哪里?
- Mysql根据数据库的时间字段到点更新另外的状态。
- BZOJ 2648 SJY摆棋子
- C++ stl---string类里常用的成员函数
- Mongodb用户安全认证
- 在数组中进行图形绘制
- 小试一下
- Java读取TXT文件的方法
- java_jni编程全面解析
- servlet3.0处理文件上传