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

MySQL 8 पूर्णांक लंबाई को अनदेखा कर रहा है

यह एक बदलाव है जिसे में प्रलेखित किया गया है। MySQL 8.0.19 रिलीज़ नोट :

एक पूर्णांक कॉलम की "लंबाई" का कोई मतलब नहीं है। int(11) . का एक कॉलम int(2) . जैसा ही है या int(40) . वे सभी एक निश्चित आकार, 32-बिट पूर्णांक डेटा प्रकार हैं। वे समान न्यूनतम और अधिकतम मान का समर्थन करते हैं।

पूर्णांक स्तंभों की "लंबाई" वर्षों से MySQL की भ्रमित करने वाली विशेषता रही है। यह केवल एक संकेत है जो प्रदर्शन की चौड़ाई को प्रभावित करता है, भंडारण या मूल्यों की सीमा को नहीं। व्यावहारिक रूप से, यह केवल तभी मायने रखता है जब आप ZEROFILL . का उपयोग करते हैं विकल्प।

mysql> create table t ( i1 int(6) zerofill, i2 int(12) zerofill );
Query OK, 0 rows affected (0.02 sec)

mysql> insert into t set i1 = 123, i2 = 123;
Query OK, 1 row affected (0.00 sec)

mysql> select * from t;
+--------+--------------+
| i1     | i2           |
+--------+--------------+
| 000123 | 000000000123 |
+--------+--------------+
1 row in set (0.00 sec)

तो यह अच्छी बात है कि भ्रामक पूर्णांक "लंबाई" को अब हटा दिया गया है और हटा दिया गया है। इसने कई वर्षों से भ्रम की स्थिति पैदा की है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक और कथनों के साथ MySQL क्वेरी एक को अनदेखा करती प्रतीत होती है

  2. MySQL डेटाबेस को Amazon RDS से DigitalOcean में माइग्रेट करना

  3. पूरे पृष्ठ को पुनः लोड किए बिना AJAX के साथ क्वेरी डालें

  4. mysqladmin:'लोकलहोस्ट' पर सर्वर से कनेक्ट विफल रहा

  5. LOAD DATA LOCAL INFILE त्रुटि देता है इस MySQL संस्करण के साथ प्रयुक्त कमांड की अनुमति नहीं है