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 回答