Lỗi đăng nhập:ISO 8601 Timestamp cho cơ sở dữ liệu MySQL: MySQL giá trị datetime sai
{ [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] }
tôi sử dụng đoạn mã này trong tôi Node.js
if s instanceof Date
return s.toISOString()
và cập nhật chúng trong cơ sở dữ liệu.
Khái niệm SQL
chèn sau:
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\')
Tôi có làm điều gì sai trái? Tôi vừa sao chép một bảng bằng cách sử dụng PHPMyAdmin
từ một bảng trong máy chủ.
Cảm ơn rất nhiều.
Nó đã thay đổi qua các phiên bản khác nhau của 'MySQL'? Tôi chắc chắn rằng trên máy chủ mà tôi sao chép bảng từ đang chạy đúng cách. –
@ComboZhc: Không phải với kiến thức của tôi. Có lẽ PHPMyAdmin định dạng đầu ra để hiển thị theo cách đó, nhưng định dạng không phải là một chữ thời gian datetime hợp lệ của MySQL. Bạn có thể sử dụng ['STR_TO_DATE()'] (http://dev.mysql.com/doc//en/date-and-time-functions.html#function_str-to-date) để thực hiện chuyển đổi, nếu được yêu cầu. – eggyal
Nếu bạn gặp sự cố khi đặt thời gian biểu bằng millis và/hoặc micro giây, bạn có thể tắt chế độ nghiêm ngặt mysql (đặt sql_mode = '') – momo