gpt4 book ai didi

mysql 自动化

转载 作者:行者123 更新时间:2023-11-29 15:05:57 29 4
gpt4 key购买 nike

我有一个名为“团队”的表,其中包含“非事件”列,另一个表“事件”,其中包含“时间”列。如果任何团队的“事件”中的最新日期发生在 X 时间之前,如何将“非事件”列更新(为 true)?

我知道这可以通过 php 脚本来实现,但我正在寻找 sql 解决方案

最佳答案

在 MySQL 5.1 中,您有事件...基本上这就像一个 cron 作业,但在数据库内部:

http://dev.mysql.com/doc/refman/5.1/en/events.html

您可以设置一个并让它运行,只要您需要进行更新即可。像这样:

delimiter //

CREATE EVENT update_inactive_teams
ON SCHEDULE EVERY 1 DAY
ON COMPLETION PRESERVE
ENABLE
DO
UPDATE teams
SET inactive = 1
WHERE now() - 14 DAY > (
SELECT MAX(event_date)
FROM events e
WHERE e.team_id = teams.id
)
//
delimiter ;

您可能需要配置服务器来启用事件: http://dev.mysql.com/doc/refman/5.1/en/events-configuration.html

SET GLOBAL event_scheduler = ON;

不幸的是,您需要 super 权限才能启用它: http://dev.mysql.com/doc/refman/5.1/en/events-privileges.html

关于mysql 自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2068534/

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