1

私が見たすべてのSQLダイアレクトは、テーブルを定義するときにサポートするデータ型の一部に対して整数引数を指定することを許可または要求するために使用します。しかし、これらの数値が正確に何を意味するのか、そしてそれらを適切に選択する方法についての包括的な情報(少なくともMySQLとSQLiteの場合)を見つけることができませんでした...

4

1 に答える 1

0

INT(11)、VARCHAR(255)のような表記を意味する場合、通常はテーブルから格納(または取得)された値の長さです。

http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html http://dev.mysql.com/doc/refman/5.5/en/string-type-overview.html

それをサポートするすべてのタイプの名前の後に括弧で囲まれた「M」があります。

また、これらの数値はストレージと選択の長さの両方に影響を与える可能性があることに注意してください。たとえば、列をVARCHAR(100)として定義した場合、各値に予約されている実際のスペースは引き続き255です。ただし、SELECTで取得する値は、100文字に切り詰められます。また、VARCHAR(256)を定義すると、正しく覚えていれば、最大65535文字が予約されます。

INT(5)でも同じです。それでも、2147483647(符号付き整数の最大値)までの値を格納するためのスペースが予約されていますが、入出力は5桁にトリミングされます。

于 2012-04-11T13:32:42.780 に答える