2012-02-11 10 views
0

Xamppデータベースに入力しようとしているいくつかのテーブルに問題があります。私は "列境界外"のエラー(私は大きすぎるサイズのDataTypeを宣言したという意味でこれを解釈しています)を取得し続けます。私は適切なサイズ(http://www.w3schools.com/sql/sql_datatypes.asp)のw3schoolsページを使用しています。サイトによると:符号なしとして宣言された場合は18446744073709551615から0の範囲内の数値を保持することができますMySQLデータ型の問題

BIGINT、符号なしとして宣言した場合

TINYINT 225から0の範囲内の数値を保持することができます

DOUBLEは私が探している何

を列挙された範囲を持っていませんが(私は多くのウェブサイトとMySQLの本を見てきたし、いずれかを発見していない)の例であります彼らの最大の形でこれらを宣言するか、あるいはこれらと同様のデータ型を宣言する方法についての何らかの明確化が必要です。私の現在の理解は、その:

TINYINT(サイズ)符号付きおよび符号なしEXとして225場合サイズが127ほど大きくすることができる

tinyint_var TINYINT(127) 

又は

tinyint_unsigned_var TINYINT(225) UNSIGNED 

BIGINT(サイズ)サイズは署名付きの場合は9223372036854775807、署名なしの場合は18446744073709551615となります。

biginT_var BIGINT(9223372036854775807) 

または

bigint_unsigned_var BIGINT(18446744073709551615) 

DOUBLE(サイズ、decimalplaces)境界がapreciatedこの明確にされているかわかりません。 BIGINTと

私は取得していますエラー:

bigint_var BIGINT(1000000000) 

とDOUBLEと:任意の助け

double_var DOUBLE(1000, 2) 

ありがとう!

答えて

1

宣言のためにSQL表記法を誤解しているようです。この:

tinyint_var TINYINT(127) 

は127桁(http://dev.mysql.com/doc/refman/5.6/en/numeric-type-attributes.htmlを参照)の表示幅とTINYINTを宣言しようとしています。読み取った通り、TINYINTは、の値が最大で,255であるため、その値は127桁近くの値にはできないため、127桁の表示幅は許可されません。

(そして、同様にあなたの他の例のため。)

+0

本当にTINYINT(3)、BIGINT(20)などが必要ですか?編集 - そのリンクはいくつかの質問をクリアする –

0

TINYINTは1バイトの値です。範囲は0〜255なので、3が最大表示幅などになります。