Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将GUID作为主键时插入语句_C#_Sql_Insert_Sql Server Ce_Guid - Fatal编程技术网

C# 将GUID作为主键时插入语句

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()函数吗?要在字

当我有一个GUID字段时,是否有一种方法可以使用insert语句在SQL CE中插入一行

在C#中,我使用

但在SQL控制台中,我找不到一个关键字来执行此操作

我只找到了这个:

> 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');