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

क्या MySQL में DEFAULT NULL जोड़ना आवश्यक है?

MySQL में DEFAULT NULL की आवश्यकता नहीं - डिफ़ॉल्ट रूप से NULL होता है

MySQL में, जब किसी कॉलम के लिए DEFAULT मान निर्दिष्ट नहीं किया जाता और वह NOT NULL नहीं है, तो उसका डिफ़ॉल्ट मान स्वचालित रूप से NULL होता है। DEFAULT NULL स्पष्ट रूप से लिखना वैकल्पिक है।

व्यावहारिक उदाहरण

DEFAULT NULL के बिना तालिका बनाना

mysql> CREATE TABLE DemoTable (
    FirstName VARCHAR(100)
);

रिकॉर्ड डालना (मान के बिना भी)

mysql> INSERT INTO DemoTable VALUES('Chris');
mysql> INSERT INTO DemoTable VALUES();      -- कोई मान नहीं
mysql> INSERT INTO DemoTable VALUES();      -- कोई मान नहीं
mysql> INSERT INTO DemoTable VALUES('David');

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------+
| FirstName |
+-----------+
| Chris     |
| NULL      |
| NULL      |
| David     |
+-----------+

नियम सारांश

कॉलम परिभाषाडिफ़ॉल्ट मान
col INTNULL
col INT DEFAULT NULLNULL (स्पष्ट)
col INT NOT NULLकोई डिफ़ॉल्ट नहीं (INSERT में मान आवश्यक)
col INT NOT NULL DEFAULT 00
col INT DEFAULT 55

स्पष्ट DEFAULT NULL कब उपयोगी

  • डॉक्यूमेंटेशन/स्पष्टता के लिए (इरादा दिखाता है)
  • स्कीमा तुलना टूल्स के लिए
  • माइग्रेशन स्क्रिप्ट्स में स्पष्टता के लिए

NOT NULL कॉलम के लिए डिफ़ॉल्ट

MySQL 8.0.13 से पहले: NOT NULL कॉलम के लिए डिफ़ॉल्ट मान डेटा प्रकार का "शून्य" मान होता है (0, '', '0000-00-00', आदि)।

MySQL 8.0.13+: NOT NULL बिना डिफ़ॉल्ट के INSERT पर त्रुटि देता है (strict mode में)।

सिफारिश: इरादे को स्पष्ट करने के लिए हमेशा DEFAULT मान निर्दिष्ट करें, भले ही वह NULL हो।

  1. - MySQL में दो कॉलम के मान जोड़ना, NULL को शून्य मानकर

    इसके लिए MySQL से COALESCE() फंक्शन का उपयोग करें। उदाहरण टेबल बनाएं: mysql> create table DemoTable ( -> Value1 int, -> Value2 int -> ); Query OK, 0 rows affected (0.51 sec) रिकॉर्ड डालें (NULL मानों के साथ): mysql> insert into DemoTable values(100, 200); Query OK, 1 row

  1. - MySQL में DEFAULT NULL का उपयोग करके डिफ़ॉल्ट मान NULL कैसे सेट करें?

    MySQL में DEFAULT NULL के साथ कॉलम डिफ़ॉल्ट सेट करना MySQL में, आप DEFAULT NULL क्लॉज का उपयोग करके किसी कॉलम के लिए स्पष्ट रूप से NULL को डिफ़ॉल्ट मान के रूप में सेट कर सकते हैं। यह तब उपयोगी होता है जब कोई मान प्रदान नहीं किया जाता है तो कॉलम वैकल्पिक होना चाहिए। उदाहरण: वैकल्पिक कॉलम वाली छात्र

  1. - MySQL में DATE_ADD और INTERVAL से DATETIME कॉलम में दिन जोड़ें

    DATE_ADD() फ़ंक्शन के साथ INTERVAL n DAY का उपयोग करके DATETIME कॉलम में दिन जोड़ें (या घटाएं)। टेबल बनाएं mysql> CREATE TABLE DemoTable1871 (ArrivalDate DATETIME); डेटा डालें mysql> INSERT INTO DemoTable1871 VALUES(2019-12-19 07:45:00), (2018-11-10 12:00:00), (2019-01-31); 6 दिन जोड़ें (UP