] एक प्रतिबंध था जो एक तालिका को सीमित करने के लिए केवल एक टाइमस्टैम्प कॉलम को एक डिफ़ॉल्ट current_timestamp के साथ या अपडेट पर current_timestamp क्लॉज पर सीमित करता है। यह सीमा INT, BigInt, और SmallInt पूर्णांक को वापस बढ़ाती है जब उन्हें शुरू में 2008 में पेश किया गया था।
यह सीमा विरासत कार्यान्वयन चिंताओं से उपजी थी, जो current_timestamp कार्यक्षमता के लिए एक विशिष्ट कार्यान्वयन की आवश्यकता थी। संदेश और संबंधित मुद्दे
तालिका `foo` (((&&&] `Productid` int (10) अहस्ताक्षरित अशक्त नहीं, `जोड़ा गया` टाइमस्टैम्प नल डिफ़ॉल्ट current_timestamp नहीं, `अपडेटेडडेट` टाइमस्टैम्प नल डिफ़ॉल्ट current_timestamp पर null नहीं ) इंजन = innodb;
केवल एक टाइमस्टैम्प कॉलम हो सकता हैcurrent_timestamp के साथ डिफ़ॉल्ट रूप से या
अद्यतन खंडपर इस त्रुटि ने संकेत दिया कि तालिका की परिभाषा ने उपरोक्त प्रतिबंध का उल्लंघन किया है।
&&& &] प्रतिबंध को हटानाCREATE TABLE `foo` ( `ProductID` INT(10) UNSIGNED NOT NULL, `AddedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `UpdatedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=INNODB;इस सीमा के लिए तकनीकी नींव के बावजूद, MySQL टीम ने इसकी असुविधा को मान्यता दी। इसके बाद, MySQL 5.6.5 (10 अप्रैल, 2012 को जारी) में, प्रतिबंध हटा दिया गया था।
इस अद्यतन के लिए परिवर्तन लॉग में कहा गया है:
पहले, सबसे अधिक एक टाइमस्टैम्प कॉलम प्रति तालिका प्रति टेबल वर्तमान तिथि और समय के लिए स्वचालित रूप से इनिशियलाइज़ या अपडेट किया जा सकता है। यह प्रतिबंध हटा दिया गया है। किसी भी टाइमस्टैम्प कॉलम की परिभाषा में डिफ़ॉल्ट current_timestamp का कोई संयोजन हो सकता है और अपडेट पर current_timestamp क्लॉस हो सकता है। इसके अलावा, इन खंडों का उपयोग अब डेटटाइम कॉलम परिभाषाओं के साथ किया जा सकता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3