mysql tinyint(1)とtinyint(2)の違い



Difference Mysql Tinyint



タイプフィールドがUNSIGNEDタイプに設定されている場合、0〜255の整数のみを格納でき、負の数を格納するために使用することはできません。
tinyint型フィールド型UNSIGNED設定されていない場合は、-128〜127の整数を格納します。
1番目のtinyintは1バイトのデータ型のみで、INTデータ型は4バイトを占めます。

これは非常に異なるように見えるかもしれませんが、より大きなテーブルでは、バイト数の増加は非常に高速です。



tinyint(1)とtinyint(2)の違いは以下から見ることができます

CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `str` varchar(255) NOT NULL, `state` tinyint(1) unsigned zerofill DEFAULT NULL, `state2` tinyint(2) unsigned zerofill DEFAULT NULL, `state3` tinyint(3) unsigned zerofill DEFAULT NULL, `state4` tinyint(4) unsigned zerofill DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 insert into test (str,state,state2,state3,state4) values('csdn',4,4,4,4) select * from test

結果:



id str state state2 state3 state4
1 csdn 4 04 004 0004