Question

Dans MSSQL, existe-t-il un moyen de spécifier un nom pour une contrainte de clé afin que MSSQL ne fournisse pas un nom de clé généré de manière aléatoire comme suit:

PK__Addresse__3214EC074E88ABD4

La seule façon pour moi de le faire maintenant est de créer d'abord la table, puis d'émettre une commande ALTER pour renommer le PK. Ce serait plus facile si je pouvais le faire d'un coup.

Était-ce utile?

La solution

Oui. Voici la syntaxe générée par SSMS:

CREATE TABLE [Address] (
    [ID] [int] IDENTITY(1,1) NOT NULL,
    << columns here >>,
    CONSTRAINT [PK_Address] PRIMARY KEY CLUSTERED ([ID] ASC)
    WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

Autres conseils

Au moment de la création de la table

CREATE TABLE MyTable
(
   Id INT NOT NULL      
   CONSTRAINT PK_MyTable PRIMARY KEY (Id)   
)

Si vous devez modifier la table et ajouter une contrainte primaire

ALTER TABLE  MyTable
ADD CONSTRAINT PK_MyTable PRIMARY KEY (Id)

J'espère que cela vous aidera

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top