當我有一個GUID字段時,是否有方法使用INSERT語句在SQL CE中插入一行。以GUID作爲主鍵時插入語句
在C#中,我使用
ID = Guid.NewGuid()
但在SQL控制檯,我不能找到一個關鍵字做到這一點。
我發現僅這一個:
> Insert into Customer (ID, Name) values ('f5c7181e-e117-4a98-bc06-733638a3a264','MyCustomer')
怎麼樣,如果我有很多行插入?
當我有一個GUID字段時,是否有方法使用INSERT語句在SQL CE中插入一行。以GUID作爲主鍵時插入語句
在C#中,我使用
ID = Guid.NewGuid()
但在SQL控制檯,我不能找到一個關鍵字做到這一點。
我發現僅這一個:
> Insert into Customer (ID, Name) values ('f5c7181e-e117-4a98-bc06-733638a3a264','MyCustomer')
怎麼樣,如果我有很多行插入?
嘗試使用Newid()
在SQL Server不能使用NEWID()函數生成GUID
?
如何,因爲我使用SQL精簡版(功能非常有限) – 2012-08-02 12:59:40
你有沒有嘗試過Newid()那裏?我不認爲如果它不會在那裏工作.. – 2012-08-02 13:02:36
若要在字段上有GUID
,您可以將列的默認設置爲NEWSEQUENTIALID()
。因此,舉例來說:
CREATE TABLE tableName (
Guid UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(),
Name VARCHAR(100)
);
然後插入到表通過執行以下查詢:
INSERT INTO tableName (Name) VALUES ('Test');
我不知道,如果NEWSEQUENTIALID()
在CE支持與否,我從來沒有用過CE開發。
在C#中,GUID是小寫字母,所以在SQL中使用LOWER(NEWID())
如果你希望它們看起來很相似。
的可能重複[唯一標識符的身份在SQLCE?](http://stackoverflow.com/questions/8763609/uniqueidentifier-as-identity-in-sqlce) – podiluska 2012-08-02 13:09:20
您可以使用從代碼生成的GUID,但你」需要將其轉換爲VARCHAR(255)。例如:「插入Customer(ID,Name)值(Convert(VARCHAR(255),'f5c7181e-e117-4a98-bc06-733638a3a264'),'MyCustomer')'。如果你不關心使用C#代碼中生成的GUID,那麼Newid()就是完美的。請參閱[Microsoft文檔](https://msdn.microsoft.com/en-us/library/ms190348.aspx)。 – 2015-11-16 19:07:24