- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- [MySQL][phpMyAdmin] Convertire colonna da VARCHAR a DATE
-
[MySQL][phpMyAdmin] Convertire colonna da VARCHAR a DATE
Ciao 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 NULL
Praticamente 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.