2013-12-16 3 views
5

У меня есть db с журналом местоположения транспортного средства , что означает, что каждая координата будет храниться в db. Теперь для транспортного средства 1 предположим, что в таблице 30 записей, что означает 30 местоположений. Теперь, когда приходит 31-запись, я хочу, чтобы первая запись, чтобы удалить, что означает, что максимальное число журнала местоположение на транспортное средство должно быть 30.Удалить запись при вводе значения в базу данных

Сейчас запрос вставки

mysqli_query($con, 
    "INSERT INTO $location_history 
    VALUES('$id','$lat','$lng','$pwd','$v1','$v2','$v3','$v4','$status')") 
or die("Count not insert to location history!"); 
+0

Вы должны сделать это только в Mysql. Сделайте счетчик PHP для вашего автомобиля 1, а если он> 30, удалите самую старую (или ту, которую вы не хотите), а затем «ВСТАВИТЕ» новую. – Thibault

+0

Чтобы сделать это в PHP: выполните предыдущий выбор, подсчитайте количество записей, а если им больше 30, удалите первый и выполните обновление. Затем вставьте последний –

ответ

10

Вы должны использовать a trigger function, который будет работать с каждой вставкой, подсчитывать записи, а если их больше 30, удалите самые старые из них, пока их не будет меньше 30 записей.

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