MySQL中整型和字符串类型指定长度的含义
引入:
int(5)和char(5)或者varchar(5)中的數(shù)字指的是什么意思?是字節(jié)數(shù),還是字符長(zhǎng)度?為什么在整型中指定了int(5)卻可以輸入123456?
答案是后者,不管是整型還是字符串類型,后面跟的數(shù)字都是字符長(zhǎng)度,即字符的個(gè)數(shù),而且需要強(qiáng)調(diào)說(shuō)明的是:在整型后面指定的數(shù)字指的是最小顯示長(zhǎng)度,即要顯示的value值的最小字符個(gè)數(shù),若實(shí)際的value值的字符個(gè)數(shù)少于之前字段后面設(shè)置的個(gè)數(shù),則會(huì)用0在value前面進(jìn)行填充(同時(shí)要為字段加上約束條件 zerofill,使用select才能查看到真正的結(jié)果);若value值的字符個(gè)數(shù)大于字段后面設(shè)置的個(gè)數(shù),則也會(huì)正常顯示,因?yàn)橹付ǖ臄?shù)值是顯示長(zhǎng)度,不是存儲(chǔ)長(zhǎng)度,整型類型的默認(rèn)存儲(chǔ)長(zhǎng)度為11個(gè)字符,滿足絕大多數(shù)環(huán)境下的使用,因此int后面不需要指定數(shù)值,即使指定了也沒(méi)有意義。
用一句話說(shuō)明int類型的使用,指定的長(zhǎng)度只是顯示長(zhǎng)度,不是存儲(chǔ)長(zhǎng)度,存儲(chǔ)長(zhǎng)度默認(rèn)為11個(gè)字符,因此無(wú)需指定int類型的長(zhǎng)度。
對(duì)于字符串類型后面的數(shù)字指的是字符的存儲(chǔ)長(zhǎng)度,即存儲(chǔ)字符的個(gè)數(shù)不能超過(guò)這個(gè)限制,否則無(wú)法插入。
?
轉(zhuǎn)載于:https://www.cnblogs.com/liuyinzhou/p/8044174.html
總結(jié)
以上是生活随笔為你收集整理的MySQL中整型和字符串类型指定长度的含义的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: AMR无限增发代币至任意以太坊地址的漏洞
- 下一篇: 学习笔记(十一)——数据库的索引碎片、计