Errore:ISO 8601 timestamp per MySQL Database: MySQL valore datetime non corretto
{ [Error: Incorrect datetime value: '2012-08-24T17:29:11.683Z' for column 'robot _refreshed_at' at row 1] number: 1292, sqlStateMarker: '#', sqlState: '22007', message: 'Incorrect datetime value: \'2012-08-24T17:29:11.683Z\' for column \' robot_refreshed_at\' at row 1', sql: 'INSERT INTO users (id,name,count_moments,count_likes,count_followers,rob ot_refreshed_at,robot_count_followers) VALUES (\'1834084\',\'NNNyingzi\',\'5\',\ '0\',\'0\',\'2012-08-24T17:29:11.683Z\',\'0\')', setMaxListeners: [Function], emit: [Function], addListener: [Function], on: [Function], once: [Function], removeListener: [Function], removeAllListeners: [Function], listeners: [Function] }
Io uso questo pezzo di codice nel mio Node.js
if s instanceof Date
return s.toISOString()
e aggiornato nel database.
L'espressione SQL
inserto segue:
INSERT INTO users (id,name,count_moments,count_likes,count_followers,rob ot_refreshed_at,robot_count_followers) VALUES (\'1834084\',\'NNNyingzi\',\'5\',\ '0\',\'0\',\'2012-08-24T17:29:11.683Z\',\'0\')
Sto facendo qualcosa di sbagliato? Ho appena copiato una tabella utilizzando PHPMyAdmin
da una tabella nel server.
Grazie mille.
è cambiata nel corso diverse versioni di 'MySQL'? Sono sicuro che sul server in cui ho copiato la tabella da sta funzionando correttamente. –
@ComboZhc: non a mia conoscenza. Forse PHPMyAdmin formatta l'output per la visualizzazione in quel modo, ma il formato non è un letterale valido per il datetime di MySQL. Puoi utilizzare ['STR_TO_DATE()'] (http://dev.mysql.com/doc//en/date-and-time-functions.html#function_str-to-date) per eseguire conversioni, se necessario. – eggyal
Se si verificano problemi con l'impostazione di data e ora con millis e/o microsecondi, è possibile disabilitare la modalità strict mysql (set sql_mode = '') – momo