2013-04-03 140 views
0

我需要根據時間選擇將delayedmysql insert插入到我的數據庫中。MySql插入基於時間戳的查詢(延遲插入)

例:Timestamp choosen = "2013-04-03 10:12:00"

,所以我想我的insert query在這個("2013-04-03 10:12:00")特定時間得到執行。

$qry = mysql_query("INSERT INTO table (field) value ($value)");

我有一個mysql innoDB數據庫。

我將接受來自HTML+PHP界面的用戶的這個timestamp值。

,是的,我dont wantcron jobs

+0

MySQL不提供類似於開箱即用的東西。但你可以隨時簡單地添加這些記錄,然後在後續的SELECT語句中用WHERE子句過濾出來,比如'WHERE field <= Now()' – VolkerK

回答

0

不cron作業無選項...

你需要一個cron job設置爲every minute,在查詢所尋找任何匹配時間戳插入查詢。

但是對於每分鐘cron job對於數據庫運行狀況不是更好,如果您有更多數據要插入,則應該再次考慮有關更好性能的時間間隔。

+0

這就是我不想要的任務,mysql不提供任何函數??? – Aditya

+0

這個工作不是由mysql提供的,你必須從你的託管服務器控制面板設置這個工作。 –

0

您可以將數據插入附加表中,然後使用MySQL事件在確切時間將記錄複製到目標表中。例如 -

CREATE EVENT event1 
    ON SCHEDULE AT '2013-04-03 20:00:00' 
    DO 
BEGIN 
    INSERT INTO <table> SELECT * FROM <temp table>; 
    TRUNCATE TABLE <temp table>; 
END 

Using the Event Scheduler