SQL-Server:使用整数作为id(主键)创建表,但没有autoid / autoincrement?

时间:2013-01-28 09:59:18

标签: sql multithreading sql-server-2008 tsql sql-server-2005

问题:

在SQL-Server中,是否可以将整数(不是GUID)作为ID(主键),但不使用AutoID / AutoIncrement ,以便我可以手动设置ID我必须在多线程环境(Web应用程序)中遇到麻烦吗?

如果是这样,如果我必须在另一个之后插入两个+行,并且没有给出主键,我如何设计生成插入ID的函数,以便它是线程安全的而我不是获得2 +插入/记录的相同ID?

1 个答案:

答案 0 :(得分:0)

我不确定你不能使用增量标识,但你可以使用UNIQUEIDENTIFIER模拟唯一键。

PRINT CONVERT( BIGINT, CONVERT( VARBINARY, NEWID() ) )

基本上,这将向您展示如何将uniqueidentifier(NEWID())转换为bigint。因此,您将能够实现您期望的结果,但将其纳入一个功能。