2015-04-23 57 views
2

如何我可以從我的行動如何在X分鐘後更新我的表格?

更新X分鐘後,我的表我送這個請求:

$req = Query("UPDATE clients SET lockclient = 0 WHERE id = $id") 

而且我想5分鐘後,創建事件。

UPDATE clients SET lockclient = 1 WHERE id = $id 

我試圖創建與存儲過程中的事件,但這是IMPOSIBLE

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 ; 

是否有另一種方式做到這一點?

+0

[另一個問題](http://stackoverflow.com/a/29820729/3351765),我認爲這是同樣的問題。可能是它可以幫助你。 – doydoy44

+0

謝謝,但我想用php和我的mysql做它 –

回答

0

問題的解決方案給指定的時間後:我剛纔回答

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"}); 

} 
+0

這將工作在共享主機?或者你需要這個vps? – imbondbaby

3

通過使用X分鐘一個cron作業文件,你可以做到這一點 它會自動調用它通過你

+1

將它存儲在您的數據庫中的特殊表 –