gpt4 book ai didi

mysql - 如何安排 MySQL 查询?

转载 作者:行者123 更新时间:2023-11-29 20:53:36 27 4
gpt4 key购买 nike

我可以在 MySQL 中安排任务以指定的时间间隔运行吗?

我有一个库存 MySQL 数据库。结构如下:

table_1            fields: itmcode, avgcost
table_2 fields: itmcode(FK to table_1(itmcode)), quantity

该报告的基础是当我想要过去日期的库存评估详细信息时。

当新的购买发布到系统中时,avgcostquantity 字段会发生更改。我可以运行查询来查看当前的股票估值,但我也希望能够查看之前日期的股票估值。我怎么做?对于数量,我可以添加销售额并从当前日期向后扣除购买量,直到报告要求的任何日期,但平均成本是当前的,因为每次发布购买时都会更新。

我想知道是否可以执行自动每日转储,类似于:

SELECT itmcode, quantity, avgcost, (avgcost * quantity) as ttlval
FROM table_1
JOIN table_2 ON table_1.itmcode = table_2.itmcode

这个任务可以直接在 MySQL 中调度吗?还是有其他解决方案?

最佳答案

你有两个基本选择(至少):

1、看一下Event Scheduler

首先创建表,例如。带字段的 stock_dumps

商品代码、数量、平均成本、ttlval、dump_date (DATETIME)

CREATE EVENT `Dumping_event` ON SCHEDULE
EVERY 1 DAY
ON COMPLETION NOT PRESERVE
ENABLE
COMMENT ''
DO BEGIN
INSERT INTO stock_dumps(itemcode, quantity, avgcost, ttlval,dump_date)
SELECT itmcode, quantity, avgcost, (avgcost * quantity)as ttlval, NOW()
FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode;
END

请按照上面发布的链接上如何启用调度程序的说明进行操作。注意:旧版本的 mysql 没有事件调度程序

2、创建cron作业/windows定时作业:

创建sql文件:

INSERT INTO stock_dumps(itemcode, quantity, avgcost, ttlval,dump_date)
SELECT itmcode, quantity, avgcost, (avgcost * quantity)as ttlval, NOW()
FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode;

安排此命令:

mysql -uusername -ppassword < /path/to/sql_file.sql

关于mysql - 如何安排 MySQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37814163/

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