我需要向名为Customers的Server表中添加一行。
这是表的设计:

在这里,我如何尝试在上面的表中添加一行:
INSERT INTO Customers (Id, Name)
VALUES (1, 'test');但我知道这个错误:
Msg 206,第16级,状态2,第1行 操作数类型冲突: int与unique标识符不兼容。
如您所见,ID列类型为uniqueidentifier。如何将uniqueidentifier添加到上面的列中?
发布于 2018-03-13 10:52:59
使用newid()
INSERT INTO Customers(Id, Name) VALUES (newid(), 1);请注意,这通常使用default值来完成:
create table customers (
id uniqueidentifier default newid(),
. . .
);由于各种技术原因,不建议将uniqueidentifier列作为主键--尽管您可以使用newsequentialid()解决一些问题。相反,让它成为一个唯一的键,并将另一个键(通常是identity()列)作为主键。
发布于 2018-03-13 11:07:57
unique标识符数据类型存储作为全局唯一标识符(GUID)的16字节二进制值。
示例使用:
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
https://stackoverflow.com/questions/49254229
复制相似问题