2012-02-11 87 views
0

我遇到了幾個表的問題,我試圖進入一個Xampp數據庫。我一直在「超出列邊界」錯誤(我將它解釋爲意味着我聲明瞭一個數據類型的大小太大)。我正在使用適合尺寸的w3schools頁面(http://www.w3schools.com/sql/sql_datatypes.asp)。據現場:MySQL數據類型的問題

TINYINT可如果被宣佈爲無符號聲明爲無符號

BIGINT可以到18446744073709551615範圍爲0持有數到225的範圍是0持有數量

DOUBLE沒有列出的範圍

我在找的是一個例子(我瀏覽了很多網站和一本MySQL書籍,但沒有找到任何內容)以最大的形式宣佈這些數據或澄清如何聲明這些和類似的數據類型是如何工作的。我現在的理解是:

TINYINT(大小)其中,如果簽署和225爲無符號EX大小可以127一樣大:

tinyint_var TINYINT(127) 

tinyint_unsigned_var TINYINT(225) UNSIGNED 

BIGINT(大小)其中大小可以大於9223372036854775807(如果有符號)或18446744073709551615(無符號)

biginT_var BIGINT(9223372036854775807) 

bigint_unsigned_var BIGINT(18446744073709551615) 

DOUBLE(大小,小數位數)不知道界限都在此澄清apreciated什麼。

遇到錯誤與BIGINT:

bigint_var BIGINT(1000000000) 

與DOUBLE:

double_var DOUBLE(1000, 2) 

感謝您的幫助!

回答

1

您似乎誤解了聲明的SQL表示法。此:

tinyint_var TINYINT(127) 

試圖宣佈TINYINT與127位(見http://dev.mysql.com/doc/refman/5.6/en/numeric-type-attributes.html)顯示寬度。因爲,如您所讀,TINYINT只能保持最大,255的值,最大爲,其值不能超過127位數字,因此不允許顯示127位數的寬度。

(同樣,對於您的其他示例)

+0

所以我真的應該是TINYINT(3),BIGINT(20)等?編輯 - 該鏈接清除了一些問題 – 2012-02-11 02:18:55

0

TINYINT是1個字節的值。它的範圍是0-255,所以3將是最大顯示寬度等。