2015-02-09 1 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

что я хочу - на основе последнего обновленного времени в таблице местоположения я хочу запускать запросы INSERT в течение 5 минут в таблице location_history.

Предположим, у меня есть новый b_id -> E1, обновленный в 16:55:37 в таблице местоположений. Итак, это последнее. Следовательно ДО минут, INSERT запросы должны идти на выполнение на моей location_history таблице b_id = E1

+0

вы имеете в виду вы хотите запустить непрерывную вставку (в течение 5 минут) в ** location_history ** после каждой вставки в ** ** место таблицы? – Artjoman

+0

да точно ..... – Matarishvan

ответ

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

Смежные вопросы