আমরা যখন সংখ্যাসূচক তথ্য প্রকারের সাথে একটি আর্গুমেন্টের দৈর্ঘ্য ব্যবহার করি, যতদূর আমি জানি এটি প্রদর্শন প্রস্থ নির্দিষ্ট করে।
আমি নিম্নলিখিত চেষ্টা করেছিলাম:
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)
আমি দেখতে পাচ্ছি যে টিনিনেন্টে আমি একটি 10 এবং 101 সংরক্ষণ করেছি এবং এটি মানগুলি (1) হিসাবে সংজ্ঞায়িত করা সত্ত্বেও আমি এই মানগুলি ফিরে পেতে পারি।
আমি কি 1 এর জন্য দেখতে পাচ্ছি না var1
? অর্থাৎ মাত্র 1 টি প্রদর্শন অঙ্ক?