サイズ
https://dev.mysql.com/doc/refman/8.0/en/integer-types.html
Type | Storage (Bytes) | Minimum Value Signed | Minimum Value Unsigned | Maximum Value Signed | Maximum Value Unsigned |
---|---|---|---|---|---|
TINYINT | 1 | -128 | 0 | 127 | 255 |
SMALLINT | 2 | -32768 | 0 | 32767 | 65535 |
MEDIUMINT | 3 | -8388608 | 0 | 8388607 | 16777215 |
INT | 4 | -2147483648 | 0 | 2147483647 | 4294967295 |
BIGINT | 8 | -263 | 0 | 2^63 - 1 | 2^64 -1 |
- MySQL の一部の型は、型によって既にサイズが確定しており、サイズを好き勝手に変える事は出来ない。
- 2^63 - 1 = 922,3372,0368,5477,5808 - 1
- 2^64 - 1 = 1844,6744,0737,0955,1616 - 1
INT で範囲指定をするなら、「1~999999999(9桁)」ぐらいにしておくのが無難か。
TIME型
Format Sample
---------------------------
'HH:MM:SS' '15:25:07'
'HH:MM' '15:25'
'HHMMSS' '152507'
'MMSS' '2507'
'SS' '07'
'D HH:MM:SS' '2 15:25:07'
'D HH:MM' '2 15:25'
'D HH'' '2 15'
TEXT
https://www.dbonline.jp/mysql/type/index6.html
TEXT[(M)] [CHARACTER SET charset_name] [COLLATE collation_name]
最大長が 65,535 (216 ? 1) 文字。
オプションの長さ M を指定できる。
MEDIUMTEXT [CHARACTER SET charset_name] [COLLATE collation_name]
最大長が 16,777,215 (224 ? 1) 文字。
LONGTEXT [CHARACTER SET charset_name] [COLLATE collation_name]
最大長が 4,294,967,295 または 4G バイト (232 ? 1) 文字。
$table->text('picture1')->after('name')->comment('写真1');
$table->mediumText('picture2')->comment('写真2');
$table->longText('picture3')->comment('写真3');
`picture1` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '写真1',
`picture2` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '写真2',
`picture3` longtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '写真3',