您好,登錄后才能下訂單哦!
這篇文章主要介紹“mysql中int(5)的長度是多少”,在日常操作中,相信很多人在mysql中int(5)的長度是多少問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”mysql中int(5)的長度是多少”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
在設(shè)計 mysql 表字段時,int(5) 表示是該字段長度為 5 嗎?
如果你覺得是,那請你繼續(xù)往下看,相信你會有新的收獲的。
我們創(chuàng)建一個新表,表中只有一個主鍵 id 和一個 length 字段,其中 length 字段設(shè)置為 int(5) 。
#新建test表 CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `length` int(5) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
是不是 length 字段只能存儲長度不超過 5 的數(shù)字呢,我們來插入一條數(shù)據(jù)試試。
我們插入一條較大的數(shù)據(jù) 123456789 ,這個數(shù)據(jù)一共有 9 位,看能否正常插入。
#插入一條大數(shù)據(jù) insert into test (length) values (123456789);
結(jié)果證明 int(5) 能插入長度大于 5 的數(shù)據(jù),所以現(xiàn)在可以肯定的是 int(5) 并不是代表數(shù)據(jù)的寬度。
#查看插入數(shù)據(jù) mysql> select * from test; +------------+-----------+ | id | length | +------------+-----------+ | 1 | 123456789 | +------------+-----------+
在 mysql 中 int 字段長度其實是固定的,就是 4 個字節(jié),不管你 int(11) 還是 int(5) 字段長度就是固定的 4 個字節(jié)。
int(5) 其實是和另一個屬性 zerofill 配合使用的,表示如果該字段值的寬度小于 5 時,會自動在前面補(bǔ) 0 ,如果寬度大于等于 5 ,那就不需要補(bǔ) 0 。
#int(5) length 字段添加了 zerofill 屬性 mysql> select * from test; +----+--------+ | id | length | +----+--------+ | 1 | 00888 | | 2 | 00012 | | 3 | 12345 | | 4 | 123456 | +----+--------+
注意前提是給該字段添加了 zerofill 屬性,不然 int(5) 不起作用。
#int(5) length 字段沒有 zerofill 屬性 mysql> select * from test; +----+--------+ | id | length | +----+--------+ | 1 | 888 | | 2 | 12 | | 3 | 12345 | | 4 | 123456 | +----+--------+
要想對整形字段設(shè)置長度,應(yīng)該是選擇 tinyint、smallint、mediumint、int、bigint 這幾個類型,這幾個整數(shù)類型才代表了固定的長度,具體長度請看下面這個表格。
注意如果要存儲帶符號的整形數(shù),是不支持 zerofill 屬性的,會自動轉(zhuǎn)換為 0,在一些涉及遞減的業(yè)務(wù)中需要注意考慮一下。
到此,關(guān)于“mysql中int(5)的長度是多少”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。