2010-10-15 956 views

回答

12

MySQL 5.0 Reference Manual: Numeric Types

顯示寬度不限制可以存儲在列中的值的範圍內。它也不會阻止比列顯示寬度更寬的值被正確顯示。

編輯:號注意UNSIGNED是非標準屬性影響的範圍內。您的問題中給出的任何值都不是正常的 TINYINT(2)的正確上限。

編輯註釋編輯:請相信文檔,除非有理由不這樣做。如果東西看起來很腥,TIAS(試試看)。

+0

所以你們的意思是127是這裏允許的最大值? – user476554 2010-10-15 06:17:54

+2

這是什麼答案? – user476554 2010-10-15 06:21:13

+6

是的,127是signed tinyint的最大值。順便說一句,嘗試這麼難嗎? – zerkms 2010-10-15 06:22:03

20
+4

255表示未簽名。 – orosznyet 2013-05-12 17:59:34

+0

爲什麼需要127? tinyint(2)的含義是什麼? – 2014-07-07 07:03:05

+0

看起來像127用於簽名TINTYINT(1)而不用於簽名TINYINT(2)。那麼簽名TINYINT(2)的價值是什麼?資料來源:http://dev.mysql.com/doc/refman/5.1/en/integer-types.html – Piero 2014-08-20 20:46:41

0

我認爲正確的答案,這個問題是:

255 

不是127

查看此頁面出來:Mysql Integer types

還有什麼其他ans我們沒有告訴你,如果你不使用負數,最大值可以是255。

如果您使用負數則最大值只能是127

這真的是什麼unsignedsigned詞的意思,可惜無人解釋這個給你,所以我能看到爲什麼它的混亂。

usigned表示它不能包含負數,所以如果您將您的列設置爲unsigned,那麼您可以使用255作爲最大值。如果您沒有明確將該列設置爲unsigned,則表示它將接受負數(因此是signed列),在這種情況下,最大值將爲127

其他答案在技術上是正確的,因爲默認情況下,Mysql會將所有整數列設置爲signed(能夠使用負數)。我只是認爲這個答案更多地解釋了一些事情,或許與你原來的問題更爲密切。