Autoincrement uniqueidentifier
Fondamentalement, je veux utiliser uniqueidentifier de la même façon que l'identité. Je ne veux pas insérer des valeurs dans celle-ci, il suffit d'insérer automatiquement des valeurs, une valeur différente pour chaque ligne.
Je ne suis pas en mesure de définir autoincrement sur les colonnes de type uniqueidentifier(la propriété "autoincrement' a la valeur false et n'est pas modifiable).
Vous devez vous connecter pour publier un commentaire.
Ou encore mieux: utiliser le
newsequentialid()
par défaut pour votre UNIQUEIDENITIFER colonne. Cela vous donnera un peu série séquentielle de Guid.Problème est: newsequentialid est seulement disponible comme une colonne par défaut - vous pouvez l'appeler comme une fonction ou quoi que ce soit. Mais qui semble correspondre à vos besoins.
Mise à JOUR: il semble y avoir un bug reconnu dans SQL Server Management Studio qui empêche la spécification
newsequentialid()
comme valeur par défaut pour une colonne dans la table interactive designer.Voir: http://social.msdn.microsoft.com/Forums/en-US/sqltools/thread/cad8a4d7-714f-44a2-adb0-569655ac66e6
Solution: créez votre table sans indication de défaut, puis tapez dans la présente instruction T-SQL dans un normal la fenêtre de requête et de l'exécuter:
Qui devrait faire l'affaire!
INT IDENTITY
(depuis le GUID est de 16 vs 4-byte - 4x plus) mais c'est moins inquiétant que les totalement aléatoirenewid()
GUID. Je préfère encoreINT IDENTITY
Je suppose que tu veux dire dans SQLServer et pas en C#...
Ensemble de la colonne comme CLÉ PRIMAIRE et ROWGUID
RowGuid http://img341.imageshack.us/img341/8867/sqlserverrowguid.png
nvarchar(36)
mieux alors pourCI
?INT
), et (2) par défaut, un GUID est totalement aléatoire, qui ont conduit à des index de fragmentationUtiliser la fonction NewID() comme valeur par défaut. Au moins ce est ce que vous feriez pour SQL Server.
Je pense que
est plus simple