Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL स्तंभ प्रकार TIMESTAMP परोक्ष रूप से अद्यतन CURRENT_TIMESTAMP पर NOT NULL DEFAULT CURRENT_TIMESTAMP शामिल है

MySQL में 5.6.5 इस आरंभीकरण के संबंध में कई अपडेट हैं, आप इस पर देख सकते हैं। लिंक (MySQL 5.6.5 से पहले स्वचालित टाइमस्टैम्प गुण)।

यदि आप MySQL का उपयोग कर रहे हैं <=5.6.5 , इस आरंभीकरण को अनदेखा करने के लिए आपको डिफ़ॉल्ट मान को 0 या NULL पर NULL अनुमत के साथ सेट करने की आवश्यकता है।

CREATE TABLE tbl
(
    field1 TIMESTAMP DEFAULT 0,
    field2 TIMESTAMP NULL DEFAULT NULL
)

यदि आप MySQL>=5.6.6 . का उपयोग कर रहे हैं , explicit_defaults_for_timestamp जो डिफ़ॉल्ट रूप से अक्षम है। आप इस सेटिंग को सक्षम कर सकते हैं या डिफ़ॉल्ट मान को 0 या NULL पर सेट कर सकते हैं, पिछले MySQL संस्करणों के लिए समान दृष्टिकोण।

यदि आप MySQL>=8.0.2 . का उपयोग कर रहे हैं , फिर explicit_defaults_for_timestamp सक्षम . है डिफ़ॉल्ट रूप से। यह गैर-मानक व्यवहार को अक्षम करता है (शुक्र है)। साथ ही, जब आप इस सेटिंग को अक्षम करते हैं तो MySQL एक चेतावनी उत्पन्न करता है। इसलिए, उदाहरण के लिए, यदि आप TIMESTAMP . के लिए DEFAULT मान को परिभाषित नहीं करते हैं कॉलम, यह स्वचालित रूप से NULL . पर सेट हो जाता है ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Knex.js - एक अभिव्यक्ति के साथ एक फ़ील्ड को कैसे अपडेट करें

  2. 2 समय मान जोड़ने के साथ भ्रम

  3. MySQL एक तारीख में दिन जोड़ता है

  4. MySQL में त्रुटि 1064 (42000)

  5. क्या सामान्य रूप से MySQL या SQL में BETWEEN और IN के बीच कोई प्रदर्शन अंतर है?