2013-12-16 10 views
5

Ho il db che ha il registro di posizione del veicolo che significa che tutte le coordinate saranno memorizzate nel db. Ora per il veicolo 1, supponiamo che ci siano 30 voci nella tabella, ovvero 30 posizioni. Ora, quando la voce 31 viene, voglio la voce primo a ricevere rimosso che significa, il numero massimo di log posizione per veicolo dovrebbero essere 30.Cancellare record durante l'inserimento del valore nel database

In questo momento la query di inserimento è

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

Dovresti farlo solo in Mysql. Crea un conteggio PHP della posizione per il tuo veicolo 1, e se è> 30, quindi rimuovi il più vecchio (o quello che non vuoi), quindi "INSERIRE" quello nuovo. – Thibault

+0

Per farlo in PHP: fai una selezione precedente, conta il numero di record, e se hanno più di 30, elimina il primo e fai un aggiornamento di essi. Quindi inserire l'ultimo –

risposta

10

si dovrebbe usare un trigger function che sta andando a lavorare su ogni inserto, contare le voci, e se ci sono più di 30, cancellare quelli più vecchi fino a quando ci sono meno di 30 voci.

Problemi correlati