2015-02-09 43 views
0

基本上我有一個MySQL表位置運行插入查詢高達5分鐘路程的MySql

------ ------------- 
b_id  updated_time 
------ ------------- 
    C1  17-5-2014 16:55:35 
    D1  17-5-2014 16:55:32 

而另一臺location_history

------ ------------- 
b_id  updated_time 
------ ------------- 
    C1  17-5-2014 16:55:35 
    C1  17-5-2014 16:55:34 
    C1  17-5-2014 16:55:33 
    D1  17-5-2014 16:55:32 
    D1  17-5-2014 16:55:31 
    D1  17-5-2014 16:55:30 

在這裏,在位置表中的數據將被插入一次,並保持在更新。然後location_history表中的數據不斷插入新的更新記錄。

我們可以在地點表中找到最新的更新時間。 C1是16:55:35和D1 16:55:32。這些插入是RANDOM

我想要的是 - 基於位置表中的最新更新時間,我想在location_history表中運行5分鐘的INSERT查詢。

假設我有新的b_id - > E1,它在位置表中有updated_time 16:55:37。所以這是最新的一個。因此高達分鐘,INSERT查詢應該在的位置表調用每次插入後我location_history表B_ID = E1

+0

你的意思是你要運行(5分鐘)連續INSERT INTO ** location_history後每個**插入** **位置的表? – Artjoman 2015-02-09 10:07:26

+0

是的...... – Matarishvan 2015-02-09 10:11:47

回答

1

執行在這種情況下,該代碼(或者使用觸發器或只是在PHP腳本中調用)

我假設你有PHP> = 5.3.0

... 
$check_time = time(); 
$up_to_time = strtotime("+ 5 minutes"); 

while($check_time < $up_to_time){ 

    $check_time = time(); 
    $updated_time = date("Y-m-d H:i", $check_time); 

    // $b_id is an inserted id got from INSERT into location table 
    $sql = "INSERT INTO location_history (b_id, updated_time) 
      VALUES($b_id, '$updated_time'); 

    mysql_query($sql) or die(mysql_error(); 
    sleep(50); 

} 
+0

謝謝............. – Matarishvan 2015-02-10 05:26:35