जब हम संख्यात्मक डेटा प्रकारों के साथ एक तर्क लंबाई का उपयोग करते हैं, जहां तक मुझे पता है कि यह प्रदर्शन चौड़ाई को निर्दिष्ट करता है।
मैंने निम्नलिखित कोशिश की:
mysql> create table boolean_test (var1 boolean, var2 tinyint);
Query OK, 0 rows affected (0.10 sec)
mysql> show create table boolean_test;
+--------------+-------------------------
| Table | Create Table
+--------------+-------------------------
| boolean_test | CREATE TABLE `boolean_test` (
`var1` tinyint(1) DEFAULT NULL,
`var2` tinyint(4) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+--------------+---------------------------
1 row in set (0.00 sec)
सबसे पहले छोटे टिंट का मूल्य 1 बाइट होता है। तो इसका अर्थ क्या है tinyint(4)
? 4 अंक नहीं हो सकते।
mysql> insert into boolean_test values(101,112);
Query OK, 1 row affected (0.03 sec)
mysql> select * from boolean_test;
+------+------+
| var1 | var2 |
+------+------+
| 10 | 112 |
| 101 | 112 |
+------+------+
2 rows in set (0.00 sec)
मैं देख रहा हूं कि छोटे में मैंने एक १० और १०१ को संग्रहीत किया है और मैं इन मूल्यों को वापस पा सकता हूं, इसके बावजूद कि इसे टिंटिंट (१) के रूप में परिभाषित किया गया है।
क्या मुझे 1 नहीं देखना चाहिए var1
? यानी सिर्फ 1 डिस्प्ले अंक?