如何在时间戳过期时自动更新或插入MySQL?
假设时间戳是2013-06-30 20:10:00
,我想在经过该日期和时间后自动更新MySQL数据库,所以今天是2013-06-03 20:10:00
之后。
我想更新我的项目,但我的网站不会打开浏览器,所以我想我需要某种服务器触发器??我该怎么做?非常感谢
我每1秒执行一次以下查询,但它不起作用:
CREATE EVENT e_second
ON SCHEDULE
EVERY 1 SECOND
DO
UPDATE online_auctions.auction_status
SET auction_status = 'ENDED' WHERE TIMESTAMP(auction_end_date) < (select now());
Use可以用于该
- Mysql事件(IMHO是最佳候选人)
- cron作业或Windows任务计划程序(如果您在Windows平台上)
如果选择选项1,则需要创建一个事件
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
UPDATE myschema.mytable
SET mycol = mycol + 1;
使用SHOW PROCESSLIST
检查事件调度程序是否已启用。如果是ON
,您应该看到用户"event_scheduler"的进程"守护程序"。如果调度程序当前未启用,请使用SET GLOBAL event_scheduler = ON;
启用它。有关配置事件调度程序的详细信息,请单击此处。
如果您想查看架构中的事件
SHOW EVENTS;
更新您的更新声明应该看起来像
UPDATE online_auctions
SET auction_status = 'ENDED'
WHERE auction_end_date < NOW();
这是SQLFiddle演示