我试图在我的一个数据库中输入一行,但是我想确保输入的主键是唯一的。我的主键是int。我已经尝试过使用newid()
,但这并不能使我理解。如果有办法我可以让newid()
仅返回一个int,或者如果另一个函数可以给我一个唯一的int,我将使用它。
答案 0 :(得分:3)
您可以将列的定义更改为cannot import name 'function_name' from 'folder_name.views'
,然后在插入行时不指定值,并且ID会自动递增。
有关更多信息,请参见https://www.w3schools.com/sql/sql_autoincrement.asp。
答案 1 :(得分:2)
请注意随机主键,特别是如果它也是聚簇索引时。这很可能导致分配文件系统IO。 请改用自动递增身份。
答案 2 :(得分:1)
一个提供唯一整数的对象是sequences。
您首先需要创建一个序列:
CREATE SEQUENCE MyNewID START WITH 1 INCREMENT BY 1;
然后您可以每次检索调用NEXT VALUE的新ID:
SET @MyNewID = NEXT VALUE FOR MyNewID;