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

MySQL डेटाबेस में BOOL Value कैसे डालें

TRUE और FALSE कीवर्ड हैं, और उन्हें स्ट्रिंग्स के रूप में उद्धृत नहीं किया जाना चाहिए:

INSERT INTO first VALUES (NULL, 'G22', TRUE);
INSERT INTO first VALUES (NULL, 'G23', FALSE);

उन्हें स्ट्रिंग्स के रूप में उद्धृत करके, MySQL फिर उन्हें उनके पूर्णांक समकक्ष में डाल देगा (क्योंकि बूलियन वास्तव में केवल एक-बाइट INT हैं। MySQL में), जो किसी भी गैर-संख्यात्मक स्ट्रिंग के लिए शून्य में अनुवाद करता है। इस प्रकार, आपको 0 . मिलता है आपकी तालिका में दोनों मानों के लिए।

गैर-संख्यात्मक स्ट्रिंग शून्य पर डाली गई:

mysql> SELECT CAST('TRUE' AS SIGNED), CAST('FALSE' AS SIGNED), CAST('12345' AS SIGNED);
+------------------------+-------------------------+-------------------------+
| CAST('TRUE' AS SIGNED) | CAST('FALSE' AS SIGNED) | CAST('12345' AS SIGNED) |
+------------------------+-------------------------+-------------------------+
|                      0 |                       0 |                   12345 |
+------------------------+-------------------------+-------------------------+

लेकिन कीवर्ड अपना संबंधित INT लौटाते हैं प्रतिनिधित्व:

mysql> SELECT TRUE, FALSE;
+------+-------+
| TRUE | FALSE |
+------+-------+
|    1 |     0 |
+------+-------+

यह भी ध्यान दें, कि मैंने आपके डबल-कोट्स को सिंगल कोट्स से बदल दिया है क्योंकि अधिक मानक SQL स्ट्रिंग एनक्लोजर हैं। अंत में, मैंने आपके खाली स्ट्रिंग्स को id . के लिए बदल दिया है NULL . के साथ . खाली स्ट्रिंग चेतावनी जारी कर सकती है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ब्राउज़र टाइमआउट के बिना PHP में बड़ी मात्रा में डेटा संसाधित करना

  2. फ़ंक्शन को पीडीओ में बदलें

  3. सीमित संख्या में पंक्तियाँ लाने के लिए MySQL GROUP_CONCAT को कैसे हैक करें?

  4. MySQL में DATETIME से DATE और TIME को कैसे पार्ट करें?

  5. केस असंवेदनशील MySQL संयोजन की तलाश में जहां एक !=ä