2013-04-03 145 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