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

MySQL में NOT NULL बाधा से कॉलम को खाली न रहने दें

कॉलम परिभाषा में NOT NULL बाधा जोड़कर उस कॉलम में NULL मान डालने से रोकें।

टेबल बनाएं

mysql> CREATE TABLE DemoTable1895 (
    Id INT NOT NULL,
    FirstName VARCHAR(20),
    LastName VARCHAR(20) NOT NULL
);

डेटा डालें (त्रुटि प्रदर्शन)

mysql> INSERT INTO DemoTable1895 VALUES(100, 'John', 'Smith');     -- OK
mysql> INSERT INTO DemoTable1895 VALUES(NULL, 'Chris', 'Brown');   -- ERROR 1048: Column 'Id' cannot be null
mysql> INSERT INTO DemoTable1895 VALUES(102, 'Carol', NULL);       -- ERROR 1048: Column 'LastName' cannot be null
mysql> INSERT INTO DemoTable1895 VALUES(103, NULL, 'Miller');      -- OK (FirstName NULL अनुमत)

परिणाम

+-----+-----------+----------+
| Id  | FirstName | LastName |
+-----+-----------+----------+
| 100 | John      | Smith    |
| 103 | NULL      | Miller   |
+-----+-----------+----------+

NOT NULL मुख्य बिंदु

  • NULL डालने पर त्रुटि (सख्त मोड में) या चेतावनी (गैर-सख्त)।
  • प्राइमरी की कॉलम स्वतः NOT NULL होते हैं।
  • DEFAULT मान के साथ उपयोग करें: col INT NOT NULL DEFAULT 0।

मौजूदा कॉलम पर NOT NULL जोड़ें

ALTER TABLE DemoTable1895 MODIFY FirstName VARCHAR(20) NOT NULL;

पहले मौजूदा NULL मानों को अपडेट करें, अन्यथा त्रुटि होगी।

सर्वोत्तम अभ्यास

  • डिफ़ॉल्ट रूप से सभी कॉलम NOT NULL बनाएं; केवल वास्तव में वैकल्पिक कॉलम पर NULL अनुमत करें।
  • डेटा अखंडता, इंडेक्स प्रदर्शन, और एप्लिकेशन सरलीकरण के लिए।
  • विदेशी कुंजी कॉलम हमेशा NOT NULL (या कैस्केड के साथ सावधानी) होना चाहिए।
  1. - MySQL में किसी कॉलम में NULL या NOT NULL मानों की जांच कैसे करें

    IS NOT NULL ऑपरेटर का उपयोग करके NULL मानों की जांच इसके लिए MySQL में IS NOT NULL का उपयोग करें। सिंटैक्स देखें: select yourColumnName IS NOT NULL from yourTableName; उपरोक्त क्वेरी 1 लौटाती है यदि कॉलम में NULL मान नहीं है अन्यथा 0। पहले टेबल बनाएं: create table DemoTable1408 ( FirstName varchar(

  1. - MySQL में ALTER TABLE का उपयोग करके मौजूदा कॉलम पर NOT NULL विशेषता सेट करें

    MySQL में मौजूदा कॉलम को NOT NULL बनाना मौजूदा कॉलम पर NOT NULL प्रतिबंध जोड़ने के लिए, ALTER TABLE ... MODIFY स्टेटमेंट का उपयोग करें जिसमें कॉलम परिभाषा में NOT NULL शामिल हो। टेबल बनाना ); Query OK, 0 rows affected (0.00 sec) UserName पर NOT NULL प्रतिबंध जोड़ना MODIFY UserName VARCHAR(20) NO

  1. - MySQL में != NULL और IS NOT NULL का अंतर

    NULL तुलना: != NULL बनाम IS NOT NULL MySQL में किसी मान की तुलना !=NULL से करने पर परिणाम NULL होता है, इसलिए !=NULL अर्थहीन है। सही तरीका IS NOT NULL है। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1970 ( Value int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTabl