Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या MySQL में एक एनम को न्यूल नहीं होना चाहिए?

यदि आप NOT NULL निर्दिष्ट नहीं करते हैं, तो MySQL मान को NULL होने देगा कॉलम परिभाषा में।

यहाँ एक त्वरित परीक्षण है:

mysql> create table test (id serial, field ENUM('Y','N') DEFAULT 'N');
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO test (field) VALUES ('Y');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO test (field) VALUES ('N');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO test () VALUES ();
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO test (field) VALUES (NULL);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO test (field) VALUES ('Invalid');
Query OK, 1 row affected, 1 warning (0.01 sec)

mysql> show warnings;
+---------+------+--------------------------------------------+
| Level   | Code | Message                                    |
+---------+------+--------------------------------------------+
| Warning | 1265 | Data truncated for column 'field' at row 1 | 
+---------+------+--------------------------------------------+
1 row in set (0.00 sec)

mysql> select * from test;
+----+-------+
| id | field |
+----+-------+
|  1 | Y     | 
|  2 | N     | 
|  3 | N     | 
|  4 | NULL  | 
|  5 |       | 
+----+-------+
5 rows in set (0.00 sec)

तो MySQL डिफ़ॉल्ट मान का सम्मान करता है, लेकिन NULLs को भी अनुमति देता है। (दिलचस्प बात यह है कि यह अमान्य मानों को छोटा कर देगा और रिक्त स्ट्रिंग को भी अनुमति देगा, लेकिन यह एक अलग मुद्दा है)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL क्वेरी का उपयोग करके लगातार संख्याओं का चयन करना

  2. MySQL से कैसे चुनें जहां टेबल का नाम वेरिएबल है

  3. डेटाबेस बनाम फाइल सिस्टम में फाइलों को स्टोर करना

  4. MySQL उन पंक्तियों का चयन करें जहां टाइमस्टैम्प कॉलम अभी और 10 मिनट पहले के बीच है

  5. एसक्यूएल में यूनियन के बाद कहां बयान?