亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mysql中有一個地方我很不解:id int和id int(4),這兩個到底有什么不同

mysql中有一個地方我很不解:id int和id int(4),這兩個到底有什么不同

feibenren 2015-10-25 08:58:07
我在創建一個表的時候,通常都是要加字段長度的,比如id int(5) ,username varchar(50),等等,但是我查了一下這里面的長度并不代表實際存儲的長度,而是和zerofill結合起來會有一些不同,并不代表實際存儲值的大小,那么我就在想,為什么我見到的所有的教程上面都要加這個長度呢,我不加行不行,因為這個東西我加不加效果是一樣的,假如我不考慮0填充的話。加了這個長度是不是對性能方法有影響啊,還是其他原因,并且我發現,varchar這種類型的,還必須加長度,不加的話還會報錯,這個我就更不能理解了,為什么?在線等,很著急?。。。?!
查看完整描述

1 回答

已采納
?
忘性最大的人

TA貢獻118條經驗 獲得超37個贊

int(M)“(M)”指定了 int 型數值顯示的寬度,如果字段數據類型是 int(4),則:當顯示數值 10 時,在左邊要補上 “00”;當顯示數值 100 是,在左邊要補上“0”;當顯示數值 1000000 時,已經超過了指定寬度“(4)”,因此按原樣輸出。在 int(M) 中,M 的值跟 int(M) 所占多少存儲空間并無任何關系。 int(3)、int(4)、int(8) 在磁盤上都是占用 4 btyes 的存儲空間。說白了,除了顯示給用戶的方式有點不同外,int(M) 跟 int 數據類型是相同的。而且這個M不寫也是可以的,默認為1(在1到64之間取值),可能是為了格式一致的原因,而varchar(M)M代表了字段的長度,必須指定。

查看完整回答
1 反對 回復 2015-10-25
  • 1 回答
  • 0 關注
  • 3372 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號