[英]How can I update my table after X minutes?
行动X分钟后如何更新表格
我发送此请求:
$req = Query("UPDATE clients SET lockclient = 0 WHERE id = $id")
我想在5分钟后创建活动。
UPDATE clients SET lockclient = 1 WHERE id = $id
我试图用存储过程创建事件,但这是不可能的
DELIMITER $$
CREATE PROCEDURE proc
(
idClient INTEGER
)
BEGIN
CREATE EVENT updateClientLock
ON SCHEDULE
AT NOW() + INTERVAL 5 MINUTE
ON COMPLETION NOT PRESERVE
ENABLE
DO BEGIN
UPDATE client set lockclient = 0 where id = idClient ;
END
END$$
DELIMITER ;
还有另一种方法吗?
通过使用X分钟的cron作业文件,您可以执行此操作,它将在您指定的时间后自动调用它
问题的解决方案:
static public function eventUpdateLockClient($id, $min)
{
$bdd = new mysqli ($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
$sql1 = "CREATE EVENT updateClientLock$id
ON SCHEDULE
AT NOW() + INTERVAL $min MINUTE
ON COMPLETION NOT PRESERVE
ENABLE
DO BEGIN
UPDATE clients set lockclient = 0 where id = $id ;
END";
$bdd->query(${"sql1"});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.