https://dev.mysql.com/doc/を参照してくださいrefman / 8.0 / en / neuro-types.html
-
INT4バイトの符号付き整数です。 -
BIGINT8バイトの符号付き整数です。
それらはそれぞれ、それぞれのバイト数に格納できる値よりも多くも少なくも受け入れません。これは、INTに2つの値があることを意味します およびBIGINTの2つの値 。
INT(20)の20 およびBIGINT(20) ほとんど何も意味しません。表示幅のヒントです。ストレージや、列が受け入れる値の範囲とは何の関係もありません。
実際には、ZEROFILLにのみ影響します。 オプション:
CREATE TABLE foo ( bar INT(20) ZEROFILL );
INSERT INTO foo (bar) VALUES (1234);
SELECT bar from foo;
+----------------------+
| bar |
+----------------------+
| 00000000000000001234 |
+----------------------+
MySQLユーザーがINT(20)を見るのは、よくある混乱の原因です。 サイズ制限であると想定します。これはCHAR(20)に似ています。 。そうではありません。