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

MySQL NOT NULL कंस्ट्रेंट क्या है और टेबल बनाते समय कैसे घोषित करें

MySQL NOT NULL कंस्ट्रेंट किसी कॉलम को NULL मान स्वीकार करने से रोकता है। एक बार लागू होने पर, उस कॉलम में NULL पास नहीं किया जा सकता। यह कॉलम-लेवल कंस्ट्रेंट है - पूरे टेबल पर लागू नहीं होता।

टेबल बनाते समय NOT NULL घोषित करना

CREATE TABLE स्टेटमेंट में कॉलम परिभाषा के साथ NOT NULL कीवर्ड उपयोग करें:

mysql> CREATE TABLE Employee(
    ID INT NOT NULL,
    First_Name VARCHAR(20),
    Last_Name VARCHAR(20),
    Designation VARCHAR(15)
);
Query OK, 0 rows affected (0.59 sec)

वेरिफिकेशन

mysql> DESCRIBE Employee;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| ID          | int(11)     | NO   |     | NULL    |       |
| First_Name  | varchar(20) | YES  |     | NULL    |       |
| Last_Name   | varchar(20) | YES  |     | NULL    |       |
| Designation | varchar(15) | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+

परिणाम विश्लेषण

  • ID कॉलम: Null = NO → NOT NULL कंस्ट्रेंट सक्रिय
  • अन्य कॉलम: Null = YES → NULL अनुमति है
  • अब INSERT INTO Employee (First_Name) VALUES ('Test') → एरर देगा

महत्वपूर्ण नियम

नियमविवरण
कॉलम-लेवलकेवल व्यक्तिगत कॉलम पर लागू होता है
डिफ़ॉल्ट मानNOT NULL कॉलम के लिए डिफ़ॉल्ट सेट करना अच्छा अभ्यास
इन्सर्ट पर प्रभावकॉलम मान देना अनिवार्य या डिफ़ॉल्ट होना चाहिए
अपडेट पर प्रभावकॉलम को NULL पर सेट नहीं कर सकते

संयुक्त उपयोग

-- NOT NULL + DEFAULT
CREATE TABLE t (id INT NOT NULL DEFAULT 0);

-- NOT NULL + UNIQUE (प्राइमरी की जैसा)
CREATE TABLE t (id INT NOT NULL UNIQUE);

-- NOT NULL + AUTO_INCREMENT (सामान्य PK पैटर्न)
CREATE TABLE t (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY);

याद रखें: PRIMARY KEY में स्वतः NOT NULL शामिल होता है।

  1. - क्या MySQL टेबल बनाते समय {} का उपयोग कर सकते हैं?

    नहीं, टेबल बनाते समय आपको खुले और बंद पैरेंथेसिस जैसे ( ) का उपयोग करने की आवश्यकता है। नीचे दिए गए सिंटैक्स का उपयोग करें: CREATE TABLE IF NOT EXISTS yourTableName ( yourColumnName1 dataType1, ... N ); आइए पहले एक टेबल बनाते हैं: CREATE TABLE IF NOT EXISTS DemoTable ( CustomerId IN

  1. - MySQL में ENUM फ़ील्ड में NOT NULL का प्रभाव

    MySQL ENUM डेटा प्रकार: NOT NULL के साथ और बिना व्यवहार का अंतर ENUM डेटा प्रकार में, यदि आप NOT NULL घोषित नहीं करते हैं, तो डिफ़ॉल्ट मान NULL होता है। लेकिन यदि आप NOT NULL घोषित करते हैं, तो यह ENUM सूची का पहला मान लेता है। केस 1: NOT NULL के बिना (डिफ़ॉल्ट NULL) टेबल बनाना CREATE TABLE DemoTa

  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