MySQL में DEFAULT कीवर्ड का उपयोग करके DATETIME कॉलम के लिए डिफ़ॉल्ट मान '0000-00-00 00:00:00' सेट किया जा सकता है।
सिंटैक्स
CREATE TABLE table_name (
column_name DATETIME DEFAULT '0000-00-00 00:00:00'
);
उदाहरण
mysql> CREATE TABLE DemoTable (
-> EmployeeId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> EmployeeName VARCHAR(20),
-> EmployeeJoiningDate DATETIME DEFAULT '0000-00-00 00:00:00'
-> ) ENGINE=MyISAM, AUTO_INCREMENT=100;
डेटा डालें (दिनांक निर्दिष्ट किए बिना):
mysql> INSERT INTO DemoTable(EmployeeName) VALUES ('Chris');
mysql> INSERT INTO DemoTable(EmployeeName) VALUES ('David');
mysql> INSERT INTO DemoTable(EmployeeName) VALUES ('Mike');
mysql> INSERT INTO DemoTable(EmployeeName) VALUES ('Sam');
परिणाम
+------------+--------------+---------------------+
| EmployeeId | EmployeeName | EmployeeJoiningDate |
+------------+--------------+---------------------+
| 100 | Chris | 0000-00-00 00:00:00 |
| 101 | David | 0000-00-00 00:00:00 |
| 102 | Mike | 0000-00-00 00:00:00 |
| 103 | Sam | 0000-00-00 00:00:00 |
+------------+--------------+---------------------+
महत्वपूर्ण विचार
- SQL मोड:
NO_ZERO_DATEमोड सक्षम होने पर '0000-00-00' अमान्य है - MySQL 5.7+: डिफ़ॉल्ट रूप से सख्त मोड में '0000-00-00' अस्वीकृत हो सकता है
- बेहतर विकल्प:
DEFAULT NULLयाDEFAULT CURRENT_TIMESTAMPउपयोग करें
आधुनिक विकल्प
-- NULL डिफ़ॉल्ट (अनुशंसित)
EmployeeJoiningDate DATETIME DEFAULT NULL
-- वर्तमान टाइमस्टैम्प डिफ़ॉल्ट
EmployeeJoiningDate DATETIME DEFAULT CURRENT_TIMESTAMP
-- ऑटो-अपडेट
EmployeeJoiningDate DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
नोट: '0000-00-00' एक "शून्य" दिनांक है, वास्तविक दिनांक नहीं। एप्लिकेशन को इसे संभालने के लिए कोड लिखना पड़ता है।