- Home
- Categorie
- Coding e Sistemistica
- Coding
- [MySQL][phpMyAdmin] Convertire colonna da VARCHAR a DATE
- 
							
							
							
							
							[MySQL][phpMyAdmin] Convertire colonna da VARCHAR a DATECiao a tutti, 
 attualmente ho una tabella 'news' contenente una colonna di 'data' diTipo > VARCHAR(15) 
 Null > NOi record in essa memorizzati sono del tipo 09/02/2015 Vorrei convertire tale colonna senza però perdere i campi già valorizzati. 
 Se provo a modificare il TIPO tutti vengono settati a 0000-00-00Come risolvere? Grazie. 
 
- 
							
							
							
							
							
Ciao felino 
 io lo farei tramite uno script
 salverei la coppia id-data in un file o in un oggetto, farei una alter sulla tabella e successivamente re importerei i dati. Non so se ci sia una soluzione meno macchinosa
 
- 
							
							
							
							
							Grazie. Potrei semplicemente - creare una colonna di tipo DATE con il nome TMP
- eseguire l'update con i record della colonna gia' esistente
- eliminare la colonna esiste
- rinominare TMP con il nome della vecchia colonna
 Il problema riguarda il punto 2, come eseguire l'UPDATE dalla vecchia colonna di tipo VARCHAR alla nuova di tipo DATE senza ovviamente alterare i valori. Grazie. 
 
- 
							
							
							
							
							Risolto, ecco qui la soluzione ALTER TABLE myTable ADD data_tmp DATE NOT NULL AFTER data UPDATE myTable SET data_tmp = str_to_date(data, '%d/%m/%Y') ALTER TABLE myTable DROP data ALTER TABLE myTable CHANGE data_tmp data DATE NOT NULLPraticamente ho - creata una tabella temporanea DATA_TMP
- eseguito l'update dei dati secondo lo standard preferito
- ho cancellato la colonna 'sorgente'
- ho rinominato la colonna con il suo nome originale
 Grazie a tutti.