MySQL中的int 11 含義

2022-08-11 14:45:16 字數 1627 閱讀 9201

圖中的資料剛好展示了3位,和我們的int(3)中的3符合。

alter table `account` change `id` `id` int(5) zerofill;
圖中資料展示了5位,和int(n)中n的值的位數是一樣的

答案是:依然會展示插入的資料,不會丟失資料

我們知道mysql中的int是佔4個位元組,每個位元組8位,一共就是32位。

而且上面勾選了【unsigned】,也就是無符號數,那麼int的取值最大就可以取到

2^32 - 1 = 4294967295,我們把這個值插進去看看結果

通過以上幾點,我們可以推斷:

- int(n)中的n就是資料展示的位數(長度)。但是這樣說不夠精確:

1.在沒開啟【zerofill】的情況下,不管是幾位數,只要不超過int型別的上限,都直接顯示資料。

2.在開啟【zerofill】的情況下,n的數值是展示的資料的位數的下限。位數不夠n位數,則高位補0;位數夠了也不會損失資料,直接顯示插入的資料。

3.超過int型別上限的數是無法插入資料庫表中的。所以我們選擇11位的展示長度肯定是夠用了,(實際上寫10就夠用的),除此之外可能就是習慣了,但是具體的n取多少還是根據具體情況而定。

MySQL 關於int 11 的理解

資料型別int不同於varchar,包括tinyint,bigint,smallint,mediumint,int等整型資料型別,他們都是擁有自己的資料範圍了 在mysql中,int 只佔4個位元組,32位,帶符號,範圍為 2147483648 2147483647 不帶符號 unsigned in...

Mysql中,int 10 和int 11 的區別

int m m指示最大顯示寬度。最大有效顯示寬度是255。顯示寬度與儲存大小或型別包含的值的範圍無關 首先說一下mysql的數值型別,mysql支援所有標準sql數值資料型別。這些型別包括嚴格數值資料型別 integer smallint decimal和numeric 以及近似數值資料型別 flo...

Mysql中,int 10 和int 11 的區別

int m m指示最大顯示寬度。最大有效顯示寬度是255。顯示寬度與儲存大小或型別包含的值的範圍無關 首先說一下mysql的數值型別,mysql支援所有標準sql數值資料型別。這些型別包括嚴格數值資料型別 integer smallint decimal和numeric 以及近似數值資料型別 flo...