相关疑难解决方法(0)

sql server 2008 newsequentialid() 问题

我在 sql server Management Studio 中遇到 newsequentialid() 学习问题。创建一个包含 uniqueidentifier 列“UniqueID”的表,并将默认值设置为 newsequentialid()。

步骤1.保存设计:

“Table_1”表 - 验证列“UniqueID”的默认值时出错。

无论如何保存它。

步骤2.查看sql:

CREATE TABLE [dbo].[Table_1](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](50) NOT NULL,
    [UniqueID] [uniqueidentifier] NOT NULL
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Table_1] ADD  CONSTRAINT [DF_Table_1_UniqueID]  DEFAULT (newsequentialid()) FOR [UniqueID]
GO
Run Code Online (Sandbox Code Playgroud)

看起来很合理。

步骤 3. 添加一些行:

1    test    72b48f77-0e26-de11-acd4-001bfc39ff92
2    test2    92f0fc8f-0e26-de11-acd4-001bfc39ff92
3    test3    122aa19b-0e26-de11-acd4-001bfc39ff92
Run Code Online (Sandbox Code Playgroud)

它们看起来不太连续。??

编辑:如果插入全部一次性完成,那么唯一的 id 是连续的,我已经让它在某种程度上起作用了。在以后的插入中,sql server 似乎忘记了最后一个顺序 id,并开始一个新的序列。

在 ssms 中运行它会产生顺序向导:

insert into Table_1 (Name) values('test13a');
insert into Table_1 (Name) …
Run Code Online (Sandbox Code Playgroud)

sql-server

6
推荐指数
2
解决办法
8468
查看次数

标签 统计

sql-server ×1