データ型を持つ e2s という名前のフィールドを作成しましたtinyint
。値を保存すると、500
に変換され127
ます。に変更しましたsmallint
。値を格納し500
ました。なんで?値を保存するint
、tinyint
、smallint
、mediumint
の違いは何ですか。bigint
1096 次
2 に答える
1
http://dev.mysql.com/doc/refman/5.0/en/integer-types.htmlを見てください。TINYINT
は 1 バイトのデータのみを保存するため、-128 から 127 までの整数範囲を保存できます。
SMALLINT
一方、2 バイトのストレージを使用し、-32768 から 32767 までのはるかに広い範囲を持ちます。
TINYINT
またはSMALLINT
列に何を格納しようとしているかに注意してください。たとえば、auto_increment
PK 列をSMALLINT
データ型に設定するのは、その容量を簡単に圧倒する可能性があるため、悪い考えです。
于 2013-09-18T06:00:03.310 に答える