Topic: Pubblico
- Composto da 3 Posts di 2 Utenti.
|
28 Agosto, 2011 09:44
|
#1
|
Federico_1
Utente
Registrato: Aug, 2011
Posts: 2
Offline
|
Ciao a tutti! Ho una tabella che contiene un campo denominato dateTime; un programma inserisce ogni 30 minuti (1800 secondi) un record nella suddetta tabella. Ora. E' fattibile costruire uno script php che controlli ogni riga della tabella se l'intervallo temporale sia sempre =1800? Della serie, se >di 1800 allora fa un'INSERT con data e ora maggiorati di 1800 rispetto alla riga precedente, e così via.... Tutto questo per scongiurare problemi di "continuità dei dati" in caso di mancanzia di corrente o altri problemi.. Grazie anticipatamente, Federico PS: i formati di data e ora sono in TIMESTAMP
|
|
31 Agosto, 2011 08:47
|
#2
|
fuser
Utente
Registrato: Aug, 2011
Posts: 86
Offline
|
Possono verificarsi diversi problemi per cui l'intervallo può aumentare di un secondo, tienilo presente.
1SELECT @oldTS := 0;
2SELECT campo_timestamp FROM (
3SELECT campo_timestamp, IF (campo_timestamp - @oldTS = 1800, 1, 0) AS ok
4 FROM tabella
5 ORDER BY campo_timestamp)
6WHERE ok = 0;
Ammesso che non ci siano errori nella mia query, questa query dovrebbe restituirti tutti i record in cui campo_timestamp non è uguale al precedente + 1800 (potresti modificarlo così: campo_timestamp - @oldTS <= 1805).
|
|
23 Settembre, 2011 08:58
|
#3
|
Federico_1
Utente
Registrato: Aug, 2011
Posts: 2
Offline
|
Ciao, grazie per la risposta. L'intervallo è sicuramente 1800 secondi, non aumenta ne diminuisce di un secondo, quindi questo problema non c'è. Provo a mettere in pratica il tuo suggerimento...
|
Condividi su:
Loggati o
Registrati per replicare