Partager via


Créer des clés primaires

Vous pouvez définir une clé primaire dans SQL Server 2014 à l’aide de SQL Server Management Studio ou de Transact-SQL. La création d’une clé primaire crée automatiquement un index unique, cluster ou non cluster correspondant.

Dans cette rubrique

Avant de commencer

Limitations et restrictions

  • Une table ne peut contenir qu'une seule contrainte PRIMARY KEY.

  • Toutes les colonnes définies dans une contrainte PRIMARY KEY doivent avoir la valeur NOT NULL. Si la valeur Nullability n’est pas spécifiée, toutes les colonnes participant à une contrainte PRIMARY KEY ont leur valeur Nullability définie sur NOT NULL.

Sécurité

Autorisations

La création d’une table avec une clé primaire nécessite l’autorisation CREATE TABLE dans la base de données et l’autorisation ALTER sur le schéma dans lequel la table est créée.

La création d’une clé primaire dans une table existante nécessite l’autorisation ALTER sur la table.

Utilisation de SQL Server Management Studio

Pour créer une clé primaire

  1. Dans l’Explorateur d’objets, cliquez avec le bouton droit sur la table à laquelle vous souhaitez ajouter une contrainte unique, puis cliquez sur Création.

  2. Dans le Concepteur de tables, cliquez sur le sélecteur de ligne de la colonne de base de données que vous souhaitez définir comme clé primaire. Si vous souhaitez sélectionner plusieurs colonnes, maintenez la touche Ctrl enfoncée pendant que vous cliquez sur les sélecteurs de lignes pour les autres colonnes.

  3. Cliquez avec le bouton droit sur le sélecteur de ligne de la colonne et cliquez sur Définir la clé primaire.

Avertissement

Si vous voulez redéfinir la clé primaire, vous devez supprimer toutes les relations avec la clé primaire existante avant de pouvoir créer la nouvelle clé primaire. Un message vous avertira que les relations existantes seront automatiquement supprimées dans le cadre de ce processus.

Une colonne clé primaire est identifiée par un symbole de clé primaire dans son sélecteur de ligne.

Si une clé primaire comporte plusieurs colonnes, les doublons sont autorisés dans une colonne, mais chaque combinaison de valeurs provenant de toutes les colonnes de la clé primaire doit être unique.

Si vous définissez une clé composée, l'ordre des colonnes dans la clé primaire correspond à l'ordre des colonnes de la table. Vous pouvez cependant modifier l'ordre des colonnes après la création de la clé primaire. Pour plus d’informations, consultez Modifier des clés primaires.

Utilisation de Transact-SQL

Pour créer une clé primaire dans une table existante

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. L’exemple crée une clé primaire sur la colonne TransactionID.

    USE AdventureWorks2012;  
    GO  
    ALTER TABLE Production.TransactionHistoryArchive   
    ADD CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID);  
    GO  
    
    

Pour créer une clé primaire dans une nouvelle table

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. L’exemple crée une table et définit une clé primaire sur la colonne TransactionID.

    USE AdventureWorks2012;  
    GO  
    CREATE TABLE Production.TransactionHistoryArchive1  
    (  
       TransactionID int NOT NULL,  
       CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID)  
    );  
    GO  
    
    

    Pour plus d’informations, consultez ALTER TABLE (Transact-SQL), CREATE TABLE (Transact-SQL) et table_constraint (Transact-SQL).