如何在时间戳字段过期后自动更新MySQL
如何在到期时间戳后自动执行MySQL更新或插入?
因此,可以说时间戳是2013-06-30 20:10:00
,我希望在经过该日期和时间后自动更新MySQL DB,因此今天之后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());
回答:
使用可以用于
- MySQL事件(恕我直言最好的候选人)
- cron作业或Windows Task Scheduler(如果您在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”的进程“
Daemon”。使用SET GLOBAL event_scheduler =
ON;使调度,如果它目前尚未启用。有关在此处配置事件调度程序的更多信息。
如果要查看架构中的事件
SHOW EVENTS;
您的更新语句应如下所示
UPDATE online_auctions SET auction_status = 'ENDED'
WHERE auction_end_date < NOW();
这是 演示
以上是 如何在时间戳字段过期后自动更新MySQL 的全部内容, 来源链接: utcz.com/qa/417982.html