कमांड दें SHOW CREATE TABLE whatever
फिर टेबल की परिभाषा देखें ।
इसकी शायद इस तरह की एक लाइन है
CURRENT_TIMESTAMP अपडेट परlogtime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
इस में। DEFAULT CURRENT_TIMESTAMP
इसका मतलब है कि कोई भी INSERT
एक स्पष्ट समय टिकट सेटिंग के बिना वर्तमान समय का उपयोग करता है। इसी तरह, ON UPDATE CURRENT_TIMESTAMP
इसका मतलब है कि स्पष्ट टाइमस्टैम्प के बिना किसी भी अपडेट का परिणाम वर्तमान टाइमस्टैम्प मान में अपडेट होता है।
अपनी तालिका बनाते समय आप इस डिफ़ॉल्ट व्यवहार को नियंत्रित कर सकते हैं।
या, यदि पहली बार में टाइमस्टैम्प कॉलम सही ढंग से नहीं बनाया गया था, तो आप इसे बदल सकते हैं।
ALTER TABLE whatevertable
CHANGE whatevercolumn
whatevercolumn TIMESTAMP NOT NULL
DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP;
यह आपके टाइमस्टैम्प कॉलम को अपडेट करने के लिए स्वचालित रूप से टेबल पर INSERT और UPDATE संचालन दोनों का कारण बनेगा। अगर आप whatevertable
को अपडेट करना चाहते हैं टाइमस्टैम्प को बदले बिना, यानी
तो आपको इस तरह का अपडेट जारी करने की जरूरत है।
UPDATE whatevertable
SET something = 'newvalue',
whatevercolumn = whatevercolumn
WHERE someindex = 'indexvalue'
यह TIMESTAMP
के साथ काम करता है और DATETIME
स्तंभ। (MySQL संस्करण 5.6.5 से पहले यह केवल TIMESTAMP
. के साथ काम करता था s) जब आप TIMESTAMP
. का उपयोग करते हैं s, समय क्षेत्रों का हिसाब रखा जाता है:एक सही ढंग से कॉन्फ़िगर की गई सर्वर मशीन पर, उन मानों को हमेशा UTC में संग्रहीत किया जाता है और पुनर्प्राप्ति पर स्थानीय समय में अनुवादित किया जाता है।