X 分钟后如何更新我的 table?
How can I update my table after X minutes?
如何在我的操作
X 分钟后更新我的 table
我发送此请求:
$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"});
}
如何在我的操作
X 分钟后更新我的 table我发送此请求:
$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"});
}