परिणाम सेट में एक खाली स्ट्रिंग का प्रतिनिधित्व डेटा प्रकार पर निर्भर करता है जब हम एक खाली स्ट्रिंग को एक MySQL कॉलम में सम्मिलित करते हैं जिसे NULL के रूप में घोषित किया जाता है। जैसा कि हम जानते हैं कि खाली स्ट्रिंग डालने पर हम MySQL को मान प्रदान कर रहे हैं जिसका पूर्णांक प्रतिनिधित्व INT 0 के रूप में है।
अब, यदि उस कॉलम में INTEGER डेटा प्रकार है तो MySQL परिणाम सेट में 0 दिखाएगा क्योंकि उस खाली स्ट्रिंग को पूर्णांक के रूप में शून्य पर मैप किया गया है।
उदाहरण
mysql> create table test(id int NOT NULL, Name Varchar(10)); Query OK, 0 rows affected (0.19 sec) mysql> Insert into test(id, name) values('1', 'Gaurav'),('0','Rahul'),('','Aarav'); Query OK, 3 rows affected, 1 warning (0.08 sec) Records: 3 Duplicates: 0 Warnings: 1 mysql> Select * from test; +----+--------+ | id | Name | +----+--------+ | 1 | Gaurav | | 0 | Rahul | | 0 | Aarav | +----+--------+ 3 rows in set (0.00 sec)
लेकिन अगर उस कॉलम में कोई अन्य डेटा प्रकार है VARCHAR तो MySQL परिणाम सेट में एक खाली स्ट्रिंग दिखाएगा।
mysql> create table test123(id Varchar(10) NOT NULL, Name Varchar(10)); Query OK, 0 rows affected (0.19 sec) mysql> Insert into test123(id, name) values('1', 'Gaurav'),('0','Rahul'),('','Aarav'); Query OK, 3 rows affected, 1 warning (0.08 sec) Records: 3 Duplicates: 0 Warnings: 1 mysql> Select * from test123; +----+--------+ | id | Name | +----+--------+ | 1 | Gaurav | | 0 | Rahul | | | Aarav | +----+--------+ 3 rows in set (0.00 sec)
उपरोक्त उदाहरणों से, हम देख सकते हैं कि जब हम एक खाली स्ट्रिंग को MySQL कॉलम में डालते हैं, जिसे NOT NULL घोषित किया जाता है, तो डेटा प्रकार क्या भूमिका निभाता है।