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

NOT NULL कॉलम में खाली स्ट्रिंग डालने पर 0 क्यों दिखता है बजाय खाली स्ट्रिंग के?


ऐसा इसलिए है क्योंकि खाली स्ट्रिंग डालने का मतलब है कि हम कुछ मान डाल रहे हैं न कि NULL। खाली स्ट्रिंग स्पष्ट रूप से पूर्णांक के रूप में शून्य पर मैप होती है। दूसरे शब्दों में, हम कह सकते हैं कि खाली स्ट्रिंग डालकर हम MySQL को एक मान प्रदान कर रहे हैं जिसका पूर्णांक प्रतिनिधित्व INT 0 है। निम्न उदाहरण पर विचार करें जिसमें हमने खाली स्ट्रिंग डाली और 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)

  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 में 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

  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