Spécifier le nom de la clé lors de la création de la table
-
08-07-2019 - |
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.
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