我有一个带有INT主键列的表。我不想使用GUIDorIDENTITY作为主键。
IDENTITY我想知道在不使用orGUID作为表中的主键列的情况下获取下一个 ID 的最佳方法是什么。我不介意在表中使用GUIDor IDENTITY,除非它是主键列。
我必须找到下一个可用的ID(即获取 MAX ID 并将其增加 1),并使用它:
SELECT @id=ISNULL(max(AlbumId)+1,1) FROM Albums
但是,当我这样做时,我想防止其他应用程序插入表中,这样我们就不会遇到任何问题。
注意:请不要将此问题标记为DUPLICATE。我已经完成了这个答案,但无法正确理解。有人愿意向我解释他们在做什么吗?我可以使用相同的技术吗?