1.概述
在 MySQL 数据库中,int 和 int(4) 都表示整数类型。然而,它们之间存在一些区别:
-
存储需求
:int 和 int(4) 两者在存储上没有区别。无论使用哪种类型声明一个列,都将使用相同的存储空间。对于 int 类型,存储大小为 4 字节(32 位),范围为 -2,147,483,648 到 2,147,483,647。尽管在声明中指定了 (4),但这只是显示宽度而不影响存储空间大小。 -
显示宽度
:int(4) 中的 (4) 不表示存储的长度,而是显示宽度。显示宽度是用于指示客户端在显示查询结果时应该保留多少位数。即使指定了宽度为 4,实际存储的整数仍然使用 4 个字节。 -
零填充
:显示宽度对于控制零填充(zero-fill)效果也有影响。如果为整数列指定显示宽度,并使用 ZEROFILL 属性进行填充,MySQL 将在显示结果时使用零填充以满足指定的宽度。例如,int(4) ZEROFILL 表示当显示查询结果时,MySQL 将使用零填充以保留 4 位数位数。
总而言之,int 和 int(4) 在存储上没有区别,它们都表示相同的整数类型。int(4) 中的 (4) 表示显示宽度,用于指示客户端显示查询结果时保留的位数。如果要