- Home
- Categorie
- Coding e Sistemistica
- PHP
- Come faccio per aggiornare i dati?
-
Come faccio per aggiornare i dati?
Ciao!
Sto cercando di fare una cosa di questo tipo:
ho una tabella con 4 campi: field1, field2. field3, field4
Periodicamente aggiungo tramite sql nuovi dati, se il nuovo valore di field1 è diverso da tutti i precedenti va inserito normalmente.
Se esiste già quel valore nel database, i dati di tutta la riga vanno sovrascritti. L'ideale sarebbe anche creare dei campi aggiuntivi per mostrare la differenza tra i field2. field3, field4 nuovi e vecchi. Il calcolo delle differenze dovrebbe avvenire in automatico con l'inserimento dei nuovi dati.
Una soluzione del genere è fattibile? oppure è troppo complessa?
Spero si capisca il seno di quello che ho chiesto, non sono molto esperto di database.
-
Ciao kongfu1. La soluzione è fattibile, puoi costruire una pagina php apposita che faccia quello
-
@PietroR said:
Ciao kongfu1. La soluzione è fattibile, puoi costruire una pagina php apposita che faccia quello
Ciao PietoR,
sospettavo fosse fattibile, ora sto cercando di realizzarlo! Ho "scoperto" che basta aggiungere ignore ad INSERT e poi usare il comando UPDATE. Così prima inserisco i nuovi dati ignorando gli ID esistenti, e poi aggiorno i dati vecchi se sono cambiati.
Tutto sommato funziona, ma devo ancora capire come creare automaticamente un campo che mostra le differenze tra i dati vecchi e nuovi.
-
esatto, con la insert ignore e poi con l'update puoi fare questa cosa: inserire i nuovi record e aggiornare, se necessario, quelli vecchi.
Per la differenza potresti salvare i vecchi dati in un nuovo campo prima di far partire l'aggiornamento/insert e poi fare la differenza fra il campo nuovo e quello vecchio