mysql int 11 java_mysql中int(11)列的大小(以字节为单位)是多少?
正如其他人所說,列可以存儲(chǔ)的最小/最大值以及以字節(jié)為單位的存儲(chǔ)量?jī)H由類型而不是長(zhǎng)度定義 .
很多這些答案都說 (11) 部分僅影響顯示寬度,這不完全正確,但主要是 .
int(2) 與 no zerofill specified 的定義將:
仍然接受 100 的值
輸出時(shí)
仍為 100 100 的值(不是 0 或 00 )
display width 將是從select查詢輸出的最大值的寬度 .
(2) 唯一能做的就是 if zerofill is also specified :
1 的值將顯示 01 .
顯示值時(shí),該列將始終具有 width of the maximum possible value the column could take (整數(shù)的10位數(shù)),而不是顯示該列需要在該特定選擇查詢中顯示的最大值所需的最小寬度,這可能要小得多 .
該列仍然可以使用,并顯示超過長(zhǎng)度的值,但這些值不會(huì)以0為前綴 .
查看所有細(xì)微差別的最佳方法是運(yùn)行:
CREATE TABLE `mytable` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`int1` int(10) NOT NULL,
`int2` int(3) NOT NULL,
`zerofill1` int(10) ZEROFILL NOT NULL,
`zerofill2` int(3) ZEROFILL NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `mytable`
(`int1`, `int2`, `zerofill1`, `zerofill2`)
VALUES
(10000, 10000, 10000, 10000),
(100, 100, 100, 100);
select * from mytable;
這將輸出:
+----+-------+-------+------------+-----------+
| id | int1 | int2 | zerofill1 | zerofill2 |
+----+-------+-------+------------+-----------+
| 1 | 10000 | 10000 | 0000010000 | 10000 |
| 2 | 100 | 100 | 0000000100 | 100 |
+----+-------+-------+------------+-----------+
請(qǐng)注意 int1 列的顯示寬度比 zerofill2 小得多,即使長(zhǎng)度較大 .
這個(gè)答案是針對(duì)Linux的MySQL 5.7.12進(jìn)行測(cè)試的,對(duì)于其他實(shí)現(xiàn)可能會(huì)有所不同 .
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的mysql int 11 java_mysql中int(11)列的大小(以字节为单位)是多少?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装centos7失败认不到硬盘_Cen
- 下一篇: 2.4G天线在PCB板上的设计