简单的问题。我尝试过在 Google 上搜索,经过大约 6 次搜索后,我认为这里会更快。
SQL 中的 int 有多大?
-- table creation statement.
intcolumn INT(N) NOT NULL,
-- more table creation statement.
那个
INT(N)
元素有多大?它的范围是多少?是 2^N 还是 N 字节长? (2^8N)?或者甚至还有其他我不知道的事情?
这取决于数据库。 MySQL 有一个 扩展名 ,其中 INT(N) 表示 显示宽度 为 4 位十进制数字的 INT。此信息保存在元数据中。
INT 本身仍然是 4 个字节,可以存储 10000 及更大的值(并且可能会显示,但这取决于应用程序如何使用结果集)。
编辑:请参阅链接文档以获取更多信息。 特别要注意的是,如果使用 ZEROFILL,存储大于显示宽度的值可能会导致问题(在某些版本的 MySQL 中):“如果在具有 ZEROFILL 属性的整数列中存储大于显示宽度的值,当 MySQL 为某些复杂的连接生成临时表时,您可能会遇到问题,在这些情况下,MySQL 假定数据值适合列显示宽度。”