SQL中的函数,它将给我一个唯一的int?
我试图在我的一个数据库中输入一行,但我想确保我给它的主键是唯一的。我的主键是一个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将自动递增 有关更多信息,请参阅。使用随机主键
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
?