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

जब मैं एक खाली स्ट्रिंग को एक MySQL कॉलम में सम्मिलित करता हूं, जिसे NOT NULL घोषित किया जाता है, तो डेटा प्रकार क्या भूमिका निभाता है?

<घंटा/>

परिणाम सेट में एक खाली स्ट्रिंग का प्रतिनिधित्व डेटा प्रकार पर निर्भर करता है जब हम एक खाली स्ट्रिंग को एक 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 घोषित किया जाता है, तो डेटा प्रकार क्या भूमिका निभाता है।


  1. क्या हम MySQL में डालने पर कॉलम छोड़ सकते हैं?

    यदि आपका पहला कॉलम AUTO_INCREMENT है, तो आप कॉलम को छोड़ कर NULL मान रख सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(100), StudentAge int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.60 सेकंड) इंसर्ट कमांड का उपयोग करके

  1. एक MySQL कॉलम को क्या असाइन करें जो खाली नहीं होना चाहिए?

    NOT NULL के साथ परिभाषित करें, यदि कोई कॉलम खाली नहीं होना चाहिए। आइए सबसे पहले NOT NULL - . में से किसी एक कॉलम के साथ एक टेबल बनाएं टेबल बनाएं DemoTable1895 (Id int NOT NULL, FirstName varchar(20), LastName varchar(20) NOT NULL);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग

  1. तालिका C में डेटा सम्मिलित करें यदि MySQL में तालिका A से तुलना करते समय डेटा तालिका B में नहीं है?

    इसके लिए टेबल ए और बी पर लेफ्ट जॉइन का इस्तेमाल करें। आइए पहली टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.87 सेकंड) इंसर्ट कमांड की मदद से टेबल में कुछ रिकॉर्ड डालें - डेमो 20 मानों में डालें (103, कैरोल); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) चयन कथन का उपयोग करके तालिका से रिकॉ