SQL中的函数,它将给我一个唯一的int?

SQL中的函数,它将给我一个唯一的int?,sql,sql-server,Sql,Sql Server,我试图在我的一个数据库中输入一行,但我想确保我给它的主键是唯一的。我的主键是一个int。我尝试过使用newid(),但没有返回int。如果有一种方法可以让newid()只返回一个int,或者如果另一个函数会给我一个唯一的int,我会使用它。您可以将列的定义更改为int-IDENTITY(1,1)主键,然后在插入行时不指定值,ID将自动递增 有关详细信息,请参阅。您可以将列的定义更改为int-IDENTITY(1,1)主键,然后在插入行时不指定值,ID将自动递增 有关更多信息,请参阅。使用随机主键

我试图在我的一个数据库中输入一行,但我想确保我给它的主键是唯一的。我的主键是一个int。我尝试过使用
newid()
,但没有返回int。如果有一种方法可以让
newid()
只返回一个int,或者如果另一个函数会给我一个唯一的int,我会使用它。

您可以将列的定义更改为
int-IDENTITY(1,1)主键
,然后在插入行时不指定值,ID将自动递增


有关详细信息,请参阅。

您可以将列的定义更改为
int-IDENTITY(1,1)主键,然后在插入行时不指定值,ID将自动递增


有关更多信息,请参阅。

使用随机主键时要小心,特别是如果它也是聚集索引。这可能会导致分配文件系统IO。
请改用自动递增标识。

使用随机主键时要小心,特别是如果它也是聚集索引。这可能会导致分配文件系统IO。
请改用自动递增标识。

一个提供唯一整数的对象是

首先需要创建一个序列:

CREATE SEQUENCE MyNewID START WITH 1 INCREMENT BY 1;  
然后,您可以每次调用下一个值来检索新ID:

SET @MyNewID = NEXT VALUE FOR MyNewID;

提供唯一整数的一个对象是

首先需要创建一个序列:

CREATE SEQUENCE MyNewID START WITH 1 INCREMENT BY 1;  
然后,您可以每次调用下一个值来检索新ID:

SET @MyNewID = NEXT VALUE FOR MyNewID;

为什么不使用
identity
?为什么不使用
identity