gpt4 book ai didi

MYSQL 每周或每月查询自动化

转载 作者:行者123 更新时间:2023-11-30 23:03:42 27 4
gpt4 key购买 nike

我在数据库中有两个表。表 1 从一些实用程序中获取数据。我想在没有任何用户干预的情况下按每周或每月的平均值更新我的 table2。任何知道如何做到这一点的人请举例指导我。谢谢!!

最佳答案

I want to update my table2 by avg value on weekly or monthly basis without any user intervention.

您可以使用 MySQL 事件调度程序 实现自动化。

您可以为每个事件时间定义多个调度器,即一个用于每周更新,另一个用于每月更新

示例:

delimiter //
drop event if exists monthly_event_scheduler_on_table2;

create event if not exists monthly_event_scheduler_on_table2
on schedule every 1 month
-- you can change the following statement
-- to start it within next few minutes or so ...
starts timestamp( current_date + interval 1 month, '00:00:00' )
-- starts now();

comment 'monthly update event scheduling on table2'
do
-- better practice is writing a procedure for the update process.
call db_name.procedure_name_that_updates_the_table2_records();
;
//
delimiter ;

您可以定义一个类似的事件,该事件每周按预定的时间戳运行。

确保您没有定义此类事件。如果存在,则必须删除它并使用新定义重新创建。

引用:MySQL: CREATE EVENT Syntax

Event Scheduler 的默认状态是 DISABLED。
您需要通过以下任何语句启用它。

SET GLOBAL event_scheduler = ON;
SET @@global.event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
SET @@global.event_scheduler = 1;

当事件调度程序打开时,事件调度程序线程作为守护进程列在 SHOW PROCESSLIST 的输出中,其状态如下所示:

mysql> SHOW PROCESSLIST\G
*************************** 2. row ***************************
Id: 2
User: event_scheduler
Host: localhost
db: NULL
Command: Daemon
Time: 3
State: Waiting for next activation
Info: NULL

一旦 Event Scheduler 设置为 ON,您就会看到它正在运行。

引用:MySQL Event Scheduler Configuration

关于MYSQL 每周或每月查询自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22778261/

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