GUID主键未创建

时间:2009-10-30 17:52:11

标签: sql sql-server asp.net-mvc

当我将用户添加到我的数据库时,我使用Guid作为主键。但它只是一个坚实的0字符串。我应该在哪里设置它?我在MS-SQL服务器中将其设置为“RowGuid()”...

3 个答案:

答案 0 :(得分:9)

尝试将列的默认值设置为NEWID()

答案 1 :(得分:3)

你不想要RowGuid()。你想要NewID()。

CREATE TABLE myTable(GuidCol uniqueidentifier, NumCol int)
INSERT INTO myTable Values(NEWID(), 4)
SELECT * FROM myTable

答案 2 :(得分:0)

下面的一个小例子,用户表如何使用guid作为主键列:

CREATE TABLE [dbo].[Users](
    [userId] [uniqueidentifier] NOT NULL,
    [Name] [nvarchar](255) NOT NULL,
 CONSTRAINT [PK_Users_1] PRIMARY KEY CLUSTERED 
(
    [userId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

ALTER TABLE [dbo].[Users] ADD  CONSTRAINT [DF_Users_userId]  DEFAULT (newid()) FOR [userId]