大猫杰克 发表于 2020-3-26 18:49:23

TINYINT(M)中M的作用是什么?

既然tinyint类型的无符号取值范围是‘0~255’,那么我写tingint(3)有什么用?tingint(2)也可以达到效果。
我弄了个表来测试
CREATE TABLE test_tinyint (
id int unsigned primary key auto_increment NOT NULL ,
str_name varchar(20) ,
state tinyint(1) unsigned DEFAULT NULL,
state2 tinyint(2) unsigned DEFAULT NULL,
state3 tinyint(3) unsigned DEFAULT NULL,
state4 tinyint(4) unsigned DEFAULT NULL);

输入:insert into test_tinyint values(0,'c3s',4,04,040,0040);
输出:
+----+----------+-------+--------+--------+--------+
| id | str_name | state | state2 | state3 | state4 |
+----+----------+-------+--------+--------+--------+
|1 | cs       |   4 |      4 |      4 |      4 |
|2 | c2s      |   4 |      4 |      4 |      4 |
|3 | c3s      |   4 |      4 |   40 |   40 |
+----+----------+-------+--------+--------+--------+
区别只在于能在4前面加几个0?
我甚至可以在state 中键入114?
为了节省储存空间,我以后是不是可以都写成tingint(1)?


页: [1]
查看完整版本: TINYINT(M)中M的作用是什么?