क्या मुझे टाइमरस्टैम्प को स्टोर करने के लिए MySQL में एक बड़ा पूर्णांक या नियमित पूर्णांक का उपयोग करना चाहिए? मैं इसे एक आईएनटी में संग्रहीत करने की योजना बना रहा हूं, न कि टाइमस्टैम्प या डेटाटाइम में निर्मित, जिससे मैं किस प्रकार का उपयोग करूँ?क्या मुझे टाइमस्टैम्प स्टोर करने के लिए MySQL में एक बड़ा INT या नियमित INT का उपयोग करना चाहिए?
उत्तर
इंट के लिए ऊपर रोल होता है कि 2038 में नकारात्मक (यदि आप यूनिक्स टाइमस्टैम्प का उपयोग कर रहे हैं): http://en.wikipedia.org/wiki/2038_problem।
तो BIGINT शायद सबसे सुरक्षित विकल्प
y2k38 समस्या होने की तुलना में y2k38 समस्या नहीं होगी। लगभग 2030 के आसपास, 64-बिट टाइमस्टैम्प का उपयोग करने के लिए सभी डेटाबेस को बदलने के लिए एक पागल भीड़ शुरू हो जाएगी और यह आसान होगा, कम से कम उन लोगों के लिए जिन्होंने बुद्धिमानी से पूर्णांक के बजाय टेबल में टाइमस्टैम्प का उपयोग किया :-) – paxdiablo
* shrug * .... यदि आप इसे एक हस्ताक्षरित int बनाते हैं, तो आप 2100 और कुछ में अच्छी तरह से बढ़ सकते हैं (बशर्ते आपके पास एक ऐसा फ़ंक्शन है जो संख्याएं प्रदान करता रहता है, और आप उन्हें परिवर्तित करते हैं) –
ठीक है। बुद्धिमान लोग जो डेटा के साथ काम के लिए बड़े पैमाने पर उपयोग करते हैं (डेटाबेस डेटाबेस नहीं हैं डेटाबेस के लिए डेटाबेस + प्रोग्राम) क्योंकि पोर्टेबिलिटी और डाटाबेस के साथ डेटाटाइम प्रारूपों के साथ समस्याएं, या किसी भी डेटाबेस के संस्करण। इंट इंट हैं। और ओरेकल, एसक्यूएल, माईएसक्यूएल, मारिया डीबी, और अन्य के साथ समस्या नहीं है। डेटाटाइम्स प्रकार, कई डेटाबेस अपडेट्स के साथ Google खोज पर बहुत सी समस्याएं, conpatibilties .. मुच वेस नो एस क्यूस्टन डी इंटेलिजेंसिया, एएस क्यूस्टन डी अनुभव ;-) कई बार यह बुद्धि की बात नहीं है, अनुभव का मामला है ;-) – abkrim
आपको इसे टाइमस्टैंप में संग्रहीत करना चाहिए क्योंकि डीबीएमएस टाइमस्टैम्प डेटा के लिए अनुकूलित करेगा।
मुझे उत्सुकता है कि आप उन सभी कड़ी मेहनत का त्याग क्यों करेंगे जो MySQL डेवलपर्स ने टाइमस्टैम्प को जिस तरह से करना चाहिए, उसे काम करने के लिए रखा है, और इसे किसी ऐसे चीज़ से बदलना जो लगभग निश्चित रूप से काम नहीं करेगा।
जब से तुम राज्य नहीं है क्यों आप एक पूर्णांक उपयोग करना चाहते हैं, मैं सिर्फ ग्रहण करने के लिए यह अस्थायी पागलपन था जा रहा हूँ और आप जल्दी ही ठीक हो जाएगा :-)
जैसा बिल्कुल होता है, आमतौर पर उनका उपयोग किया जाता है क्योंकि PHP और अन्य ऐसी भाषाएं उचित एसक्यूएल तिथि प्रारूप की तुलना में टाइमस्टैम्प के साथ काम करना अधिक आसान बनाती हैं। –
उस स्थिति में, मैं अंतर्निहित time_t प्राप्त करने के लिए UNIX_TIMESTAMP() का उपयोग करूंगा जो वैसे भी डीबी में है। – paxdiablo
मेरी स्थिति में यह सिर्फ 0000000 के बजाय इस प्रारूप में 0000-00-00 के प्रारूप में mysql स्टोर पर नए संस्करणों का काम करता है, समय और डैश बंद हो सकता है लेकिन आपको विचार मिलता है। टाइमस्टैम्प एक वास्तविक टाइमस्टैम्प होता था लेकिन अब नहीं। मेरे सभी समय कार्यों को mysql से वास्तविक टाइमस्टैम्प की आवश्यकता है, इसलिए यदि मैं एक आईएनटी में टाइमस्टैम्प स्टोर करता हूं तो यह कम जगह का उपयोग करता है और यह कम प्रसंस्करण/आगे और पीछे परिवर्तित होता है।जैसा कि कहा गया है कि मेरे सभी कार्यों को किसी भी समय टाइमस्टैंप की आवश्यकता है, इसलिए यदि मैं इसे नई शैली टाइमस्टैम्प देता हूं, तो मुझे इसे php में वास्तविक टाइमस्टैम्प में बदलने की आवश्यकता होती है। परीक्षण के कई दिनों के बाद – JasonDavis
मुझे लगता है कि यह पूरी तरह से है कि आप क्या करना चाहते हैं पर निर्भर करता है। वहाँ समय/दिनांक प्रकार के लिए कुछ उचित प्रकार (देखें: http://dev.mysql.com/doc/refman/5.0/en/date-and-time-type-overview.html)
DATE
- आमतौर पर 3 बाइट्स, सीमा:1000-01-01
9999-12-31
करने के लिए।DATETIME
- 8 बाइट्स, सीमा1000-01-01 00:00:00
9999-12-31 23:59:59
कोTIMESTAMP
- 4 बाइट1970-01-01 00:00:01
यूटीसी2038-01-19 03:14:07
यूटीसी तक होती है। फिर, वहाँ कुछ अर्थ मुद्दों के बारे में पता होना करने के लिए कर रहे हैं:
- तारीख भंडार कैलेंडर दिनों, दिनांक (पूर्णांक TIMESTAMP की तरह 4 बाइट्स की है, bigint DATETIME की तरह 8 बाइट्स) और दोनों दुकान टाइमस्टैम्प दिनांक + समय एक दूसरी परिशुद्धता पर (उप-द्वितीय परिशुद्धता दिनांक अंकगणित में समर्थित है, लेकिन भंडारण के लिए नहीं)
- टाइमस्टैम्प एक यूटीसी मूल्य स्टोर करता है। यही है, आप जिस भी मूल्य में चिपके रहते हैं वह सत्र के टाइमज़ोन (डिफ़ॉल्ट रूप से, सर्वर का टाइमज़ोन) से यूटीसी में परिवर्तित होता है और संग्रहीत होता है। पुनर्प्राप्ति पर, यूटीसी मूल्य सत्र में प्रभावी रूप से टाइमज़ोन में फिर से परिवर्तित हो जाता है।
- टाइमस्टैम्प को स्वचालित रूप से सम्मिलित करने या अपडेट या दोनों पर वर्तमान टाइमस्टैंप प्राप्त करने के लिए घोषित किया जा सकता है। आप सबसे अच्छा जानकारी के लिए मैनुअल का अध्ययन (http://dev.mysql.com/doc/refman/5.1/en/timestamp.html देख)
- 1. क्या मुझे int या UInt16 का उपयोग करना चाहिए?
- 2. जब मुझे कुछ आइटम चाहिए, तो क्या मुझे इसके बजाय "int id" का उपयोग करना चाहिए?
- 3. क्या मुझे एनएसयूसर डीफॉल्ट या डेटा स्टोर करने के लिए एक प्लिस्ट का उपयोग करना चाहिए?
- 4. हैशकोड() में int से int को कैसे मैप करना चाहिए?
- 5. क्या मुझे इनलाइन वर्कर (अधिकतम) कॉलम का उपयोग करना चाहिए या इसे एक अलग तालिका में स्टोर करना चाहिए?
- 6. मुझे स्ट्रिंग WithFormat में int को कैसे पास करना चाहिए?
- 7. क्या मुझे MySQL में JSON के लिए ब्लॉब या टेक्स्ट का उपयोग करना चाहिए?
- 8. सी में int के लिए एक हस्ताक्षरित int कैसे डालने या परिवर्तित करने के लिए?
- 9. एक चार सरणी में एक int स्टोर?
- 10. क्या मुझे MySQL के बजाय NoSQL का उपयोग करना चाहिए?
- 11. mysql int फ़ील्ड 11 अंकों से बड़ा बढ़ रहा है
- 12. MySQL मध्यम int बनाम int प्रदर्शन
- 13. MySQL: bigint बनाम int
- 14. एक int (*) (int)
- 15. बाहरी int int के बीच अंतर; बाहरी int एक = 42;
- 16. कई बिट्स संग्रहीत करना - क्या मुझे एकाधिक कॉलम या एक बिटफील्ड कॉलम का उपयोग करना चाहिए?
- 17. सूची <int> परिवर्तित करने के लिए int []
- 18. यूंट या int
- 19. क्या मुझे eval() या call_user_func() का उपयोग करना चाहिए?
- 20. क्या मुझे आईपैयर या लूप के लिए उपयोग करना चाहिए
- 21. 'int' '' int 'से' int * 'को असाइन करने वाले पॉइंटर रूपांतरण के लिए असंगत पूर्णांक
- 22. कोर डेटा में GUID स्टोर करने के लिए मुझे किस डेटा प्रकार का उपयोग करना चाहिए?
- 23. हास्केल int फ्लोट और चार फ्लोट करने के लिए int
- 24. क्या मुझे एंड्रॉइड पर ImageCache में स्टोर करने के लिए बिटमैप या ड्रायबल का उपयोग करना चाहिए?
- 25. int * pi = new int (0) में int (0) का अर्थ ;?
- 26. INT
- 27. मुझे नियमित अभिव्यक्तियों का उपयोग कब नहीं करना चाहिए?
- 28. uint_fast32_t क्या है और इसे नियमित int और uint32_t के बजाय क्यों उपयोग किया जाना चाहिए?
- 29. रिकॉर्ड को संग्रहीत करने के लिए मुझे किस डेटाबेस का उपयोग करना चाहिए, और मुझे इसका उपयोग कैसे करना चाहिए?
- 30. स्थिर int int और int के बीच क्या अंतर है?
काश वहाँ था ठीक से MySQL और PHP में उपयोगकर्ताओं के लिए समय-क्षेत्रों करने के लिए नेट पर एक वैध ट्यूटोरियल, लगता है सभी जानकारी पुरानी हो चुकी है कि अब mysql बदल गया है टाइमस्टैम्प फ़ील्ड्स का प्रारूप डेटाटाइम – JasonDavis