-2

データ型を持つ e2s という名前のフィールドを作成しましたtinyint。値を保存すると、500に変換され127ます。に変更しましたsmallint。値を格納し500ました。なんで?値を保存するinttinyintsmallintmediumintの違いは何ですか。bigint

4

2 に答える 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_incrementPK 列をSMALLINTデータ型に設定するのは、その容量を簡単に圧倒する可能性があるため、悪い考えです。

于 2013-09-18T06:00:03.310 に答える