Salve,
Continua il mio viaggio alla scoperta di PHP e MySQL...
Oggi ho un problema che, credo, sia il più ostico per chi come me passa da SQL Server ed (ehm) Access a MySQL
Mi riferisco all'annoso problema delle date e del loro inserimento su MySQL, soprattutto per quanto riguarda valori di default
Ho letto articoli, pillole, fatto ricerche, ecc., ma pare che siano due mondi che funzionano in maniera completamente differente
Mi spiego: quando aggiungo un record ad una tabella,vorrei non dovermi preoccupare di inserire la data in un particolare campo DATETIME, ma lasciare che sia MySQL a farlo; insomma, ottenere le funzionalità di un TIMESTAMP con default CURRENT_TIMESTAMP, ma su un campo DATETIME
Su SQL Server basta mettere getdate() come valore di default e sono a posto
Su Access basta mettere Now() o Date() e sono altrettanto a posto
Su MySQL... so' cavoli!![]()
Ho provato a impostare NOW() come valore di default su PhpMyAdmin per il campo DATETIME, ma ottengo un "Invalid default value for 'USE_DATED'"; la query che non va a buon fine è questa:
Ho provato a mettere TIMESTAMP, e già mi potrebbe andare bene, se non fosse che ogni query di UPDATE effettuata sul record mi cambia il valore originario del TIMESTAMP...codice:ALTER TABLE `users` CHANGE `USE_DATED` `USE_DATED` DATETIME NOT NULL DEFAULT 'NOW()'![]()
Infine, posso provare a mettere un campo nascosto nel form di inserimento, ma non è la stessa cosa: tra il momento in cui l'utente apre la pagina di inserimento, compila i suoi bei campi e salva il tutto sul database può passare un lungo lasso di tempo, che non fa fede del preciso momento di inserimento del record...
Bene, che faccio? Suicidio?![]()
Possibile che non ci sia una così semplice funzioncina sul grande MySQL?