數(shù)據(jù)類型 - mysql里mediumint類型如果手動(dòng)把“長(zhǎng)度”設(shè)為3,會(huì)有影響嗎?
問(wèn)題描述
查了一下,一般都是這么說(shuō)的:
TINYINT——一個(gè)微小的整數(shù),支持 -128到127(SIGNED),0到255(UNSIGNED),需要1個(gè)字節(jié)存儲(chǔ)
BIT——同TINYINT(1)
BOOL——同TINYINT(1)
SMALLINT——一個(gè)小整數(shù),支持 -32768到32767(SIGNED),0到65535(UNSIGNED),需要2個(gè)字節(jié)存儲(chǔ)
MEDIUMINT——一個(gè)中等整數(shù),支持 -8388608到8388607(SIGNED),0到16777215(UNSIGNED),需要3個(gè)字節(jié)存儲(chǔ)
INT——一個(gè)整數(shù),支持 -2147493648到2147493647(SIGNED),0到4294967295(UNSIGNED),需要4個(gè)字節(jié)存儲(chǔ)
INTEGER——同INT
BIGINT——一個(gè)大整數(shù),支持 -9223372036854775808到9223372036854775807(SIGNED),0到18446744073709551615(UNSIGNED),需要8個(gè)字節(jié)存儲(chǔ)
用Navicat之類的可視化工具的時(shí)候,“長(zhǎng)度”那一項(xiàng)是可以改的。也就是說(shuō),我可以把mediumint的長(zhǎng)度改成3,或者把tinyint的長(zhǎng)度改為10……我試著改了一下再看表中的數(shù)據(jù),是沒(méi)有變的。我就想問(wèn)問(wèn),其實(shí)這里生效的只是“類型”對(duì)嗎?
又搜了一下,找到這個(gè):
mysql 中int(1)和tinyint(1)中的1只是指定顯示長(zhǎng)度,并不表示存儲(chǔ)長(zhǎng)度,只有字段指定zerofill是有用如int(3),如果實(shí)際值是2,如果列指定了zerofill,查詢結(jié)果就是002,左邊用0來(lái)填充。
位數(shù)限制基本沒(méi)有意義。
http://www.111cn.net/database...
不知道這里說(shuō)的“位數(shù)”是不是我說(shuō)的“長(zhǎng)度”呢……
問(wèn)題解答
回答1:是的,位數(shù)(你說(shuō)的長(zhǎng)度)只是顯示問(wèn)題
回答2:只是顯示的位數(shù),跟最大最小值沒(méi)有關(guān)系
