您的位置:首頁/技術文章
文章詳情頁

數據類型 - mysql里mediumint類型如果手動把“長度”設為3,會有影響嗎?

瀏覽:118日期:2022-06-14 13:02:31

問題描述

查了一下,一般都是這么說的:

TINYINT——一個微小的整數,支持 -128到127(SIGNED),0到255(UNSIGNED),需要1個字節存儲

BIT——同TINYINT(1)

BOOL——同TINYINT(1)

SMALLINT——一個小整數,支持 -32768到32767(SIGNED),0到65535(UNSIGNED),需要2個字節存儲

MEDIUMINT——一個中等整數,支持 -8388608到8388607(SIGNED),0到16777215(UNSIGNED),需要3個字節存儲

INT——一個整數,支持 -2147493648到2147493647(SIGNED),0到4294967295(UNSIGNED),需要4個字節存儲

INTEGER——同INT

BIGINT——一個大整數,支持 -9223372036854775808到9223372036854775807(SIGNED),0到18446744073709551615(UNSIGNED),需要8個字節存儲

用Navicat之類的可視化工具的時候,“長度”那一項是可以改的。也就是說,我可以把mediumint的長度改成3,或者把tinyint的長度改為10……我試著改了一下再看表中的數據,是沒有變的。我就想問問,其實這里生效的只是“類型”對嗎?

又搜了一下,找到這個:

mysql 中int(1)和tinyint(1)中的1只是指定顯示長度,并不表示存儲長度,只有字段指定zerofill是有用如int(3),如果實際值是2,如果列指定了zerofill,查詢結果就是002,左邊用0來填充。

位數限制基本沒有意義。

http://www.111cn.net/database...

不知道這里說的“位數”是不是我說的“長度”呢……

問題解答

回答1:

是的,位數(你說的長度)只是顯示問題

回答2:

只是顯示的位數,跟最大最小值沒有關系

国产综合久久一区二区三区