2012-08-16 307 views
0

我不能理解int(1)和int(8)之間的區別,因爲int(1)也可以有999.9999。int(1)和int(8)有什麼區別?

如果是這樣,差異在哪裏? INT數據類型上的長度修飾符是否會影響可以存儲的值的範圍?例如,一個六位數字可以存儲在INT(1)列中嗎?

+0

的數據類型是INT。長度修飾符(例如'(1)')對可以存儲的值沒有影響。 該長度修飾符可供客戶端應用程序使用,該客戶端應用程序可以將其解釋爲應該用於顯示該值的字符數的規範。 INT數據類型允許最多10位十進制數字,因此最多需要11個字符才能顯示它(10位數字加上負號的1個字符)。 – spencer7593 2012-08-16 16:15:09

+0

@ spencer7593 - 編輯問題以插入答案不是有效的編輯。儘管如此,我試圖在問題中加入改進的問題措辭。看看這個,如果你仍然覺得它應該重新打開,請告訴我們。 – 2012-08-16 17:36:54

+0

@Brad Larson - 我同意最初的問題有點含糊,但要想知道OP的要求並不難 - 他問的是長度修飾符對INT數據類型的影響。雖然我在撰寫答案時,在發佈之前,這個問題被視爲「不是真正的問題」。這是一個真正的問題,我只是想幫助這個特定的用戶。 – spencer7593 2012-08-16 18:51:37

回答

2

這是一個可選的定義。它沒有定義int字段的大小。它定義了表示。如果將ZEROFILL添加到定義中,則該字段的其餘部分將用零填充,否則用空格填充。

NUMERIC TYPES

的好處解釋here

+0

我想問的是 例如: personel_number無符號的TINYINT(8) ,然後寫有一個記錄:999 999 personel_numer爲256 現在INT示例 personal_number無符號整數(2) 寫創紀錄的999 999 個人編號爲999 999 所以相同astiny int int(x),「x」的效果是什麼? – 2012-08-16 16:23:26

+0

這讓我很震驚。所有的文檔,教課程int(3),int(7),int(8)...但數字沒有效果。 ı米在crisses.just憤怒bird.oo不! o真主!...所以結果:數字對int,mediumint,smallint沒有影響,但是影響tinyinnt,char,varchar?真的嗎? 'char'和'varchar'的 – 2012-08-16 17:02:40

+2

'()'定義了字符串的長度。對於'int'types,它只是表示數字的其餘部分將如何顯示。對於數字類型,它定義了精度。你應該研究[數據類型](http://dev.mysql.com/doc/refman/5.0/en/data-types.html) – 2012-08-16 18:40:34

相關問題