केवल दिनांक बदलने के लिए, समय नहीं, MySQL INTERVAL और YEAR का उपयोग करें। चूंकि, हम रिकॉर्ड अपडेट करते रहेंगे, इसलिए UPDATE का उपयोग करें और INTERVAL के साथ एक नया मान सेट करें।
आइए एक उदाहरण देखें और एक टेबल बनाएं -
mysql> टेबल बनाएं डेमोटेबल (ड्यूडेट डेटटाइम);क्वेरी ओके, 0 रो प्रभावित (0.56 सेकेंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -
mysql> डेमोटेबल मानों में डालें ('2017-08-12 10:30:45'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> डेमोटेबल मानों में डालें ('2015-09-21 12:00 :00');क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड)mysql> डेमोटेबल मानों में डालें ('2018-12-31 11:45:56'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> में डालें डेमोटेबल मान('2016-01-02 01:23:04');क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -
mysql> डेमोटेबल से *चुनें;
यह निम्नलिखित आउटपुट देगा -
<पूर्व>+--------------------------+| नियत तिथि |+--------------------------+| 2017-08-12 10 :30 :45 || 2015-09-21 12:00 :00 || 2018-12-31 11:45:56 || 2016-01-02 01 :23 :04 |+--------------------------+4 पंक्तियाँ सेट में (0.00 सेकंड)सभी तिथियों को बदलने की क्वेरी निम्नलिखित है, लेकिन समय मानों को नहीं -
mysql> अपडेट डेमोटेबल सेट ड्यूडेट =ड्यूडेट + अंतराल 1 वर्ष; क्वेरी ठीक है, 4 पंक्तियाँ प्रभावित (0.16 सेकंड) पंक्तियाँ मिलान:4 परिवर्तित:4 चेतावनियाँ:0
आइए एक बार फिर से टेबल रिकॉर्ड देखें -
mysql> डेमोटेबल से *चुनें;
यह निम्नलिखित आउटपुट देगा -
<पूर्व>+--------------------------+| नियत तिथि |+--------------------------+| 2018-08-12 10:30:45 || 2016-09-21 12:00 :00 || 2019-12-31 11:45:56 || 2017-01-02 01:23:04 |+--------------------------+4 पंक्तियाँ सेट में (0.00 सेकंड)