mysql 每日定时查询数据并将结果集插入另一个表中 200
程序是discuz!X的,具体内容:每日凌晨1点30分自动搜索出积分表(`count`)中积分字段(`extcredits`)大于等于100的用户并计算出总量,然后计算每...
程序是discuz!X的,具体内容:每日凌晨1点30分自动搜索出积分表(`count`)中积分字段(`extcredits`)大于等于100的用户并计算出总量,然后计算每个符合要求的用户占总量的百分比pp,将所得结果集插入百分比表中(`percent`),`percent`的结构下面有图,其中ID为自增列,xtime类型是TIMESTAMP,并且默认值 CURRENT_TIMESTAMP问题来了:以下语句是我在网上各种搜索后拼凑而成的,然后也不知道这句应该写在哪个文件里,还有,是不是需要开启事件调度器,可我的MYSQL版本是5.0.x,没有这个功能,那该如何实现定时自动执行呢?CREATE EVENT `percent_data` ONSCHEDULE EVERY 1 DAY STARTS '2016-08-06 01:30:00' ON COMPLETION PRESERVE ENABLE DO INSERT INTO `percent`(`uid`,`pp`) SELECT `uid`,(`extcredits` / SUM(`extcredits`)) AS pp, FROM `count` WHERE `extcredits` >= 100;
展开
展开全部
参照语法
创建事件(CREATE EVENT)语法:
CREATE EVENT [IF NOT EXISTS] event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT 'comment']
DO sql_statement;
schedule:
AT TIMESTAMP [+ INTERVAL INTERVAL]
| EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]
INTERVAL:
quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}
DO sql_statement
这里可以是insert语句,也可以是调用一个存储过程。
创建事件(CREATE EVENT)语法:
CREATE EVENT [IF NOT EXISTS] event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT 'comment']
DO sql_statement;
schedule:
AT TIMESTAMP [+ INTERVAL INTERVAL]
| EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]
INTERVAL:
quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}
DO sql_statement
这里可以是insert语句,也可以是调用一个存储过程。
追问
这个是MYSQL5.1.6的版本才开始有的吧,我的是5.0.X的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询