2010-08-17 8 views
5

मुझे आश्चर्य है कि 2038-01-19 03:14:07 के बाद क्या होगा तालिका तालिका के साथ TIMESTAMP डेटा प्रकार के रूप में?MySQL TIMESTAMP मान '2038-01-19 03:14:07' से अधिक मान

मैं हमेशा DATETIME पसंद करता हूं लेकिन आप स्पष्ट रूप से उस प्रकार के डिफ़ॉल्ट मान के रूप में CURRENT_TIMESTAMP असाइन नहीं कर सकते हैं। मेरा मतलब है, 28 साल इतने लंबे समय तक नहीं हैं जब आप इसके बारे में सोचते हैं (मेरी राय में वैसे भी) ... तो उन सभी TIMESTAMP फ़ील्ड के साथ क्या होगा?

+0

मुझे लगता है कि तब तक हमारे पास MySQL 2038 होगा जो लंबी श्रृंखला का समर्थन करता है। और उम्मीद है कि अब भी कोई भी MySQL 5 – JochenJung

उत्तर

1

आप CURRENT_TIMESTAMP को DATETIME कॉलम पर असाइन करने में सक्षम नहीं हो सकते हैं, लेकिन आप इसे NOW() असाइन कर सकते हैं।

y2k + 38 अंक के लिए, मैं शर्त लगाने के लिए तैयार हूं कि MySQL के नए संस्करण होंगे जो एक वास्तविक चिंता से पहले इस लंबे समय से संबोधित करेंगे।

+0

दुर्भाग्यवश, अब सेट करने के लिए उपयोग नहीं करेगा() मुझे एक ट्रिगर बनाने की आवश्यकता है। हालांकि यह एक स्वीकार्य समाधान है, ट्रिगर PhpMyAdmin निर्यात में नहीं दिखते हैं (लेकिन mysqldump के साथ करता है):/ –

+0

आपको 'अब() 'जोड़ने के लिए ट्रिगर सेट करने की आवश्यकता नहीं है .. इसे आपके सम्मिलित/अद्यतन क्वेरी ... शायद मैं कुछ गलत समझ रहा हूँ। – Fosco

+0

मैं डिफ़ॉल्ट मानों को समझता हूं और अभी कैसे सेट()। मैं TIMESTAMP बनाम DATETIME के ​​बारे में सामान्य राय के बारे में अधिक उत्सुक था (मेरा व्यक्तिगत एफएवी डेटाटाइम है)। लेकिन मैं इस सवाल को बंद कर दूंगा और कहूंगा कि, मैं उस समय तक y2k + 38 को नए संस्करण के साथ हल कर रहा हूं (उम्मीद है!) –

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