2

SQL Server permet-il de créer une table avec une clé primaire qui s'auto-incrémente automatiquement? J'ai regardé le type "UniqueIdentifier", mais cela ne semble pas faire ce à quoi je m'attendais.SQL Server - Création d'une clé unique à incrémentation automatique

Actuellement, j'ai quelque chose comme ceci:

CREATE TABLE [dbo].[MyTable](
     [Date] [datetime] NOT NULL, 
    [MyField1] [nchar](50) NOT NULL, 
    [MyField2] [nvarchar](max) NULL, 
    [Key] [uniqueidentifier] NOT NULL 
) ON [PRIMARY] 

Fondamentalement, je veux commencer à KEY 1 et juste lui-même incrémente pour chaque enregistrement.

Répondre

5

Vous êtes à la recherche de la IDENTITY property.

De la documentation:

Crée une colonne d'identité dans une table. Cette propriété est utilisée avec les instructions CREATE TABLE et ALTER TABLE Transact-SQL .

IDENTITY [ (seed , increment) ] 

semences

est la valeur qui est utilisée pour la toute première rangée chargée dans la table.

incrément

est la valeur incrémentielle qui est ajouté à la valeur d'identité de la précédente rangée qui a été chargé.

Vous devez spécifier à la fois l'incrément et l'incrément ou aucun. Si aucune n'est spécifiée , la valeur par défaut est (1,1).

Btw, tout ceci est également facilement réalisé à partir de l'interface utilisateur mgmt de Sql Server. Faites un clic droit sur votre table et sélectionnez design. Ensuite, sélectionnez la colonne appropriée et définissez la propriété IDENTITY.

2

Définissez votre clé primaire dans le tableau create comme ceci:

[Key] [int] IDENTITE (1,1) NOT NULL

+1

Mais il veut utiliser un Guid comme clé primaire. – starskythehutch

+0

@starskythehutch: Il dit qu'il veut commencer par 1 et incrémenter, donc je me suis dit qu'il voulait un int? –

+0

assez juste. Supprimé ma réponse – starskythehutch

Questions connexes