gpt4 book ai didi

mysql - 如何在 MySQL 中制作带有计数器的调度程序?

转载 作者:行者123 更新时间:2023-11-29 06:34:21 26 4
gpt4 key购买 nike

在我的 MySQL 数据库中,我有一个名为 TABLE_MAIN 的表。我需要每小时从其他表向该表添加新数据。就我而言,它们是 TABLE_ATABLE_B。我需要每小时运行一次 SQL 语句。同时,我需要每小时为 A.TIME_KEYB.MONTH_KEY 设置新值。

例如,一小时后,A.TIME_KEY 的值必须为 2018-01-05 01:00:00。同时 B.MONTH_KEY 具有相同的值 2018-01-01B.MONTH_KEY 的值仅在下个月发生变化。例如2018-02-01

如何在 MySQL 中使用计数器来实现这样的调度程序?

SQL:

INSERT INTO TABLE_MAIN (
ID,
TIME_KEY,
STATUS,
OBJECT_NAME,
OBJECT_DESCRIPTION
) VALUES (
SELECT
A.ID
A.TIME_KEY
A.STATUS
B.OBJECT_NAME
B.OBJECT_DESCRIPTION
FROM
TABLE_A AS A
INNER JOIN
TABLE_B AS B
ON
A.ID = B.ID_OBJECT
WHERE
A.TIME_KEY="2018-01-05 00:00:00"
AND
B.MONTH_KEY="2018-01-01"
);

最佳答案

您可以使用DATE_FORMAT()并将 DATE 或 DATETIME 的最后部分设置为常量值:

WHERE 
A.TIME_KEY = DATE_FORMAT(NOW(), '%Y-%m-%d %H-00-00')
AND
B.MONTH_KEY = DATE_FORMAT(NOW(), '%Y-%m-01')

如果数据“落后两小时”,只需将 NOW() 替换为 NOW() - INTERVAL 2 HOUR

WHERE 
A.TIME_KEY = DATE_FORMAT(NOW() - INTERVAL 2 HOUR, '%Y-%m-%d %H-00-00')
AND
B.MONTH_KEY = DATE_FORMAT(NOW() - INTERVAL 2 HOUR, '%Y-%m-01')

关于mysql - 如何在 MySQL 中制作带有计数器的调度程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54609950/

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