首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将行添加到具有uniqueidentifier类型列的Server表中?

如何将行添加到具有uniqueidentifier类型列的Server表中?
EN

Stack Overflow用户
提问于 2018-03-13 10:50:05
回答 2查看 2.1K关注 0票数 0

我需要向名为Customers的Server表中添加一行。

这是表的设计:

在这里,我如何尝试在上面的表中添加一行:

代码语言:javascript
复制
INSERT INTO Customers (Id, Name) 
VALUES (1, 'test');

但我知道这个错误:

Msg 206,第16级,状态2,第1行 操作数类型冲突: int与unique标识符不兼容。

如您所见,ID列类型为uniqueidentifier。如何将uniqueidentifier添加到上面的列中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-13 10:52:59

使用newid()

代码语言:javascript
复制
INSERT INTO Customers(Id, Name) VALUES (newid(), 1);

请注意,这通常使用default值来完成:

代码语言:javascript
复制
create table customers (
    id uniqueidentifier default newid(),
    . . .
);

由于各种技术原因,不建议将uniqueidentifier列作为主键--尽管您可以使用newsequentialid()解决一些问题。相反,让它成为一个唯一的键,并将另一个键(通常是identity()列)作为主键。

票数 2
EN

Stack Overflow用户

发布于 2018-03-13 11:07:57

unique标识符数据类型存储作为全局唯一标识符(GUID)的16字节二进制值。

示例使用:

代码语言:javascript
复制
insert into customers values('7E3E3BC1-9B15-473C-A45A-46D89689156C', 'Tomas')
insert into customers values(newid(), 'Tomas')

参见更多详细信息:https://technet.microsoft.com/en-US/library/ms190215(v=sql.105).aspx

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49254229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档