Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में डिफ़ॉल्ट '0000-00-00' के साथ DATETIME कॉलम कैसे बनाएं?

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' एक "शून्य" दिनांक है, वास्तविक दिनांक नहीं। एप्लिकेशन को इसे संभालने के लिए कोड लिखना पड़ता है।

  1. - MySQL में टेबल बदलें ताकि परिकलित औसत स्कोर फ़ील्ड INSERT/UPDATE के बिना दिखे

    समाधान GENERATED ALWAYS AS ... VIRTUAL कॉलम का उपयोग करें। सिंटैक्स ALTER TABLE yourTableName ADD COLUMN yourColumnName yourDataType GENERATED ALWAYS AS ((col1 + col2 + ... + colN) / N) VIRTUAL; उदाहरण टेबल बनाएं: INSERT INTO demo32 VALUES (30,60), (20,40), (35,35); वर्चुअल कॉलम जोड़ें GENERATE

  1. - MySQL सीक्वेंस कैसे बनाएं?

    MySQL में सीक्वेंस क्या है? MySQL में, एक सीक्वेंस इंटीजर्स की एक सूची को संदर्भित करता है जो आरोही क्रम में 1 से शुरू होकर या 0 से यदि निर्दिष्ट किया गया हो, उत्पन्न होती है। कई एप्लिकेशन को सीक्वेंस की आवश्यकता होती है जिनका उपयोग विशेष रूप से पहचान के लिए अद्वितीय संख्या उत्पन्न करने के लिए किया

  1. - उदाहरणों के साथ MySQL AUTO_INCREMENT

    आइए समझते हैं कि AUTO_INCREMENT कैसे काम करता है: AUTO_INCREMENT विशेषता का उपयोग नई रो के लिए एक अद्वितीय पहचानकर्ता उत्पन्न करने के लिए किया जाता है। आइए देखें कि यह स्टेटमेंट कैसे काम करता है। उससे पहले, नीचे दी गई क्वेरी पर विचार करें: क्वेरी CREATE TABLE tableName ( id MEDIUMINT NOT NULL