त्रुटि लॉग:आईएसओ 8601 टाइमस्टैम्प: MySQL गलत datetime मूल्य
{ [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] }
मैं कोड के इस टुकड़े का उपयोग अपने Node.js
if s instanceof Date
return s.toISOString()
में और उन्हें डेटाबेस में अपडेट किया गया।
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\')
मैंने कुछ गलत कर रहा हूँ? मैंने सर्वर में किसी तालिका से PHPMyAdmin
का उपयोग करके एक तालिका कॉपी की है।
बहुत बहुत धन्यवाद।
यह 'MySQL' के विभिन्न संस्करणों के साथ बदल गया फ़ॉर्मेट करने के लिए क्षमता के साथ
node.js
प्रदान कर सकता है? मुझे यकीन है कि जिस सर्वर पर मैंने तालिका की प्रतिलिपि बनाई है वह ठीक से चल रहा है। –@ComboZhc: मेरे ज्ञान के लिए नहीं। शायद PHPMyAdmin इस तरह से प्रदर्शन के लिए आउटपुट स्वरूपित करता है, लेकिन प्रारूप मान्य MySQL डेटाटाइम शाब्दिक नहीं है। यदि आवश्यक हो, तो रूपांतरणों को करने के लिए आप ['STR_TO_DATE()'] (http://dev.mysql.com/doc//en/date-and-time-functions.html#function_str-to-date) का उपयोग कर सकते हैं। – eggyal
यदि आपको मिलीस और/या माइक्रोसेकंड के साथ डेटटाइम सेट करने में समस्याएं हैं तो आप mysql सख्त मोड को अक्षम कर सकते हैं (sql_mode = '' सेट करें) – momo