숫자 데이터 유형과 함께 인수 길이를 사용하는 경우 표시 너비를 지정합니다.
나는 다음을 시도했다.
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)
우선 tinyint는 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)
tinyint에서 10과 101을 저장했으며 tinyint (1)로 정의되어 있음에도 불구 하고이 값을 다시 얻을 수 있음을 알 수 있습니다.
에 대해 1이 표시되지 않아야 var1
합니까? 즉, 1 자리 숫자입니까?