Maison >base de données >tutoriel mysql >Comment faire d'une colonne existante une colonne d'identité dans SQL Server ?

Comment faire d'une colonne existante une colonne d'identité dans SQL Server ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-22 23:18:11293parcourir

How to Make an Existing Column an Identity Column in SQL Server?

Transformer une colonne existante en colonne d'identité dans SQL Server

Modifier la clé primaire d'une table en une colonne d'identité, en particulier lorsque la table contient déjà des données significatives, nécessite un examen attentif. Ce guide présente les meilleures pratiques pour ce processus.

Solutions SQL pour l'ajout de propriétés d'identité :

Modifier directement une colonne existante pour en faire une colonne d'identité n'est pas réalisable dans SQL Server. Il existe cependant deux solutions efficaces :

  1. Construire une nouvelle table avec identité :

    <code class="language-sql">CREATE TABLE dbo.Tmp_Names
    (
      Id int NOT NULL IDENTITY(1, 1),
      Name varchar(50) NULL
    )</code>

    Remplissez la nouvelle table avec les données de la table d'origine, en préservant les données existantes. Enfin, remplacez l'ancienne table par la nouvelle.

  2. Introduire une nouvelle colonne d'identité :

    <code class="language-sql">ALTER TABLE Names
    ADD Id_new Int IDENTITY(1, 1)</code>

    Supprimez la colonne d'origine et renommez la nouvelle colonne d'identité pour qu'elle corresponde à l'ancienne clé primaire.

Remarques importantes :

  • La méthode "Nouvelle table" permet de conserver les valeurs des données existantes.
  • La méthode "Nouvelle colonne" ne pas préserve les valeurs de données existantes dans la nouvelle colonne d'identité.
  • Pour des discussions approfondies et une assistance supplémentaire, consultez le fil de discussion du forum Microsoft SQL Server sur la modification des colonnes en propriétés d'identité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn