2009-10-30 44 views
0

当我将用户添加到我的数据库时,我使用Guid作为主键。但是它只是一串固定的0。我应该在哪里设置它?我将它设置为 “ROWGUID()” 中的MS-SQL服务器...未创建GUID主键

回答

9

尝试设置一栏,NEWID缺省值()

3

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

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

低于用户表可以如何与GUID作为PrimaryKey的列看一个小例子:

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]