简单的问题。我有几个不同的模型存储在SQL数据库中。带有字节数据的图像记录表,大型多字段用户数据表等。所有这些型号都需要主键。大多数初学者教程都显示了int用于int的用法。这是标准和专业。我觉得开始使用int很奇怪,因为它的长度是可变的,并以1:S
开头对不起业余的问题,但我找不到任何关于此主题的足够材料通过谷歌。
答案 0 :(得分:1)
使用INT
或任何其他integral data type作为主键或标识列没有任何隐含的不专业。这取决于您的业务需求。为了保持编程as simple as possible,INT
数据类型是满足许多业务需求的不错选择:
SELECT
和UPDATE
s。BIGINT
可以处理比您可以放入数据库的记录更多的记录。严重。您可能不想要使用完整主键的一个原因:
Guid
(或SQL Server术语中的UNIQUEIDENTIFIER
)来获取全局唯一性。换句话说,如果您将数据迁移到其他位置,则主键仍应是唯一的。答案 1 :(得分:0)
是的,int
是行业标准。
即使在数据库之外,我也很少看到带有uint
的C#代码或用于表示整数的任何其他变体。偶尔会在数组中使用byte
。当long
可能不足以涵盖所有可能性时,会使用int
。
始终使用int
的一个好处是,您可以传递id
个变量,而不必担心在不同的整数类型之间进行转换。
答案 2 :(得分:0)
这是100%好的,并且被广泛使用。有些人使用long
作为主键,因为它们的最大值更大。虽然在大多数情况下都没有必要。
答案 3 :(得分:0)
Guid
类型有时也用作ID。它有一些好处,如固定长度,全球唯一性和不可预测性。还有一些问题,比如降低搜索性能,很难记住。