C# 将GUID作为主键时插入语句
当我有一个GUID字段时,是否有一种方法可以使用insert语句在SQL CE中插入一行 在C#中,我使用 但在SQL控制台中,我找不到一个关键字来执行此操作 我只找到了这个:C# 将GUID作为主键时插入语句,c#,sql,insert,sql-server-ce,guid,C#,Sql,Insert,Sql Server Ce,Guid,当我有一个GUID字段时,是否有一种方法可以使用insert语句在SQL CE中插入一行 在C#中,我使用 但在SQL控制台中,我找不到一个关键字来执行此操作 我只找到了这个: > Insert into Customer (ID, Name) values ('f5c7181e-e117-4a98-bc06-733638a3a264','MyCustomer') 如果我有很多行要插入呢?尝试在Sql server中使用Newid()来生成GUID难道不能使用Newid()函数吗?要在字
> Insert into Customer (ID, Name) values ('f5c7181e-e117-4a98-bc06-733638a3a264','MyCustomer')
如果我有很多行要插入呢?尝试在Sql server中使用
Newid()
来生成GUID难道不能使用Newid()函数吗?要在字段上有GUID
,可以将列的默认值设置为NEWSEQUENTIALID()
。例如:
CREATE TABLE tableName (
Guid UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(),
Name VARCHAR(100)
);
然后通过执行以下查询将其插入到表中:
INSERT INTO tableName (Name) VALUES ('Test');
我不确定CE是否支持
NEWSEQUENTIALID()
,因为我从来没有在开发中使用过CE。在C#中,GUID是小写的,所以如果希望它们看起来相似,请在SQL中使用lower(NEWID())
。如何,因为我使用的是SQL Compact Edition(功能非常有限)您可以使用代码生成的guid,但需要将其转换为VARCHAR(255)。例如:插入客户(ID、名称)值(Convert(VARCHAR(255),'f5c7181e-e117-4a98-bc06-733638a3a264'),'MyCustomer')
。如果您不在乎使用在C代码中生成的GUID,那么Newid()
就完美了。看见
INSERT INTO tableName (Name) VALUES ('Test');