2009-10-30 8 views
0

Lorsque j'ajoute un utilisateur à ma base de données, j'utilise un Guid pour la clé primaire. Mais il vient juste comme une chaîne solide de 0. Où suis-je censé le mettre? Je l'ai mis à "ROWGUID()" dans le serveur MS-SQL ...Clé primaire GUID non créée

Répondre

9

essayez de définir la valeur par défaut de la colonne à NEWID()

3

Vous ne voulez pas ROWGUID(). Vous voulez NewID().

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

Un petit exemple ci-dessous comment une table d'utilisateurs pourrait regarder avec guid comme colonne 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] 
Questions connexes