【发布时间】:2019-02-02 03:00:35
【问题描述】:
我有一个 SQL Server 数据库。我的一个表有一个名为id 的列,当我在连接到数据库的程序中创建一个新项目时,它会自动递增。现在最高的id是9175,现在我担心最高的可能是9999。我检查了id列的属性,见下图。
“长度”属性表示 4。这对 int 意味着什么?这是否意味着数据库不会接受 10000 的 id?我怎样才能知道?
【问题讨论】:
-
Sql Server中的数据类型INT可以高达 2,147,483,647,请参阅文档 (docs.microsoft.com/en-us/sql/t-sql/data-types/…),是的Length表示数据类型INT的大小为 4 字节 -
Visual Studio 中的
4可能意味着 4 字节。 -
只是为了好玩,看看quora.com/How-is-an-integer-value-stored-in-the-memory-in-C 这将使您了解他们如何将 2.14B 打包成 4 个字节。
-
另一个提示是数值精度:最大值占十进制数。这与说它存储 10 位数字不同。由于范围是 -2,147,483,648 到 2,147,483,647,因此它无法处理许多更大的 10 位数值。
标签: sql sql-server tsql int