2010-11-08 10 views
25

unix_timestamp मूल्य (MySQL) को सहेजने के लिए मुझे किस डेटा प्रकार का उपयोग करना चाहिए?unix_timestamp (MySQL) के लिए डेटा प्रकार क्या है?

int(11) 

अनुक्रमण के लिए अच्छा है और > < = तरह

+4

http://dev.mysql.com/doc/refman/5.0/en/datetime.html – teemitzitrone

+0

टाइमस्टैम्प unix_timestamp के समान है? – jzarsuelo

+0

@ user239431: UNIX_TIMESTAMP एक MySQL फ़ंक्शन है: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_unix-timestamp –

उत्तर

33

प्रकार की तरह पूर्णांक है।
यह एक युग मूल्य के रूप में संग्रहीत है, लेकिन MySQL मूल्य को 'YYYY-MM-DD HH: MM: SS' के रूप में प्रदर्शित करता है।

+14

यदि आप आईएनटी का उपयोग करते हैं तो आपको याद रखना होगा कि हस्ताक्षरित संस्करण केवल -2147483648 से 2147483647 तक जाता है, ऊपरी बाउंड [वर्ष 2038 बग] (http://en.wikipedia.org/wiki/Year_2038_problem) ट्रिगर करता है। आप आईएनटी (11) अनगिनत या बिगिनट का उपयोग कर सकते हैं - बाद में [कुछ caveats] (http://dev.mysql.com/doc/refman/5.6/en/numeric-type-overview.html) हैं लेकिन यह [ बड़े पैमाने पर] (http://en.wikipedia.org/wiki/Integer_ (computer_science))। व्यक्तिगत रूप से मैं MySQL के इनबिल्ट फ़ंक्शंस के साथ सुरक्षित महसूस करता हूं लेकिन बड़े डेटासेट के लिए अनुक्रमण और तुलना फ़ंक्शन आपको प्रभावित कर सकते हैं। –

+0

पोस्टरिटी के लिए मैं विलियम टूरेल की टिप्पणी +1 करता हूं। अनसुलझा इंटेंट मेरे परिप्रेक्ष्य से जाने का तरीका होगा, लेकिन सबसे सही जवाब उस भाषा पर निर्भर करेगा जो आप डेटा बेस जानकारी खींच रहे हैं (यदि स्क्रैच से कोडिंग हो)। उदाहरण: यदि आप जावा शॉप हैं, तो एक java.lang.Long पर मानचित्रों को चिन्हित करें (MySQL + Java उपयोगकर्ताओं के लिए यहां तालिका 5.2 देखें: https://dev.mysql.com/doc/connector-j/en/connector-j -reference प्रकार-conversions.html)। इस तरह आप बीमा करते समय डीबी में कुछ जगह बचाते हैं, आप कोड लिखते नहीं हैं जो 2038 में एक बग मारा जाएगा। महान बिंदु @ विलियम टूरेल। –

+0

2038 बग के संदर्भ में, 'int (11) '12 या 13 में 11 को बढ़ाना स्थिति से बचने के लिए उचित उपाय नहीं होगा? –

संबंधित मुद्दे