महत्वपूर्ण नियम
सशर्त NOT NULL केस के लिए, आपको <> और = ऑपरेटर का उपयोग नहीं करना चाहिए। इसके बजाय IS NULL और IS NOT NULL प्रॉपर्टी का उपयोग करें क्योंकि MySQL में NULL एक विशेष केस है।
प्रदर्शन के लिए टेबल बनाना
mysql> CREATE TABLE ConditionalNotNullDemo (
Id INT NOT NULL AUTO_INCREMENT,
SendMessage LONGTEXT,
PRIMARY KEY(Id)
);
रिकॉर्ड डालना
mysql> INSERT INTO ConditionalNotNullDemo(SendMessage) VALUES(NULL);
mysql> INSERT INTO ConditionalNotNullDemo(SendMessage) VALUES('Hi');
mysql> INSERT INTO ConditionalNotNullDemo(SendMessage) VALUES('Hello');
mysql> INSERT INTO ConditionalNotNullDemo(SendMessage) VALUES(NULL);
सभी रिकॉर्ड देखना
mysql> SELECT * FROM ConditionalNotNullDemo;
+----+-------------+ | Id | SendMessage | +----+-------------+ | 1 | NULL | | 2 | Hi | | 3 | Hello | | 4 | NULL | +----+-------------+
केस 1: NULL संदेश फ़िल्टर करना
IS NULL प्रॉपर्टी का उपयोग करें:
mysql> SELECT * FROM ConditionalNotNullDemo WHERE SendMessage IS NULL;
+----+-------------+ | Id | SendMessage | +----+-------------+ | 1 | NULL | | 4 | NULL | +----+-------------+
केस 2: वैध (गैर-NULL) संदेश दिखाना
IS NOT NULL प्रॉपर्टी का उपयोग करें:
mysql> SELECT * FROM ConditionalNotNullDemo WHERE SendMessage IS NOT NULL;
+----+-------------+ | Id | SendMessage | +----+-------------+ | 2 | Hi | | 3 | Hello | +----+-------------+
मुख्य बिंदु
MySQL में NULL मान की तुलना हमेशा IS NULL या IS NOT NULL से करें, तुलना ऑपरेटर (=, <>) से नहीं।