Maison >base de données >tutoriel mysql >Comment puis-je ajouter une colonne d'identité à une table de base de données existante ?
Modification des tables existantes pour inclure des colonnes d'identité
De nombreuses tâches de base de données nécessitent l'ajout de colonnes d'identité aux tables existantes. Une question fréquente est de savoir s'il faut modifier une colonne existante ou en créer une nouvelle.
Pourquoi la conversion directe n'est pas possible
Transformer directement une colonne existante en colonne d'identité n'est pas réalisable. Les colonnes d'identité génèrent des valeurs séquentielles à partir d'une valeur de départ définie. Modifier une colonne existante perturberait l'intégrité des données.
Stratégies d'ajout d'une colonne d'identité
Deux méthodes principales existent pour ajouter une colonne d'identité :
1. Création d'une nouvelle table avec identité
Cela implique :
2. Ajout d'une nouvelle colonne d'identité
Cette démarche consiste à :
Requêtes SQL illustratives
Méthode 1 : Création d'une nouvelle table
<code class="language-sql">CREATE TABLE New_Table ( Id INT NOT NULL IDENTITY(1, 1), Name VARCHAR(50) NULL ); INSERT INTO New_Table (Id, Name) SELECT Id, Name FROM Original_Table; DROP TABLE Original_Table; EXEC sp_rename 'New_Table', 'Original_Table';</code>
Méthode 2 : Ajouter une nouvelle colonne
<code class="language-sql">ALTER TABLE Original_Table ADD Id_new INT IDENTITY(1, 1); ALTER TABLE Original_Table DROP COLUMN Id; EXEC sp_rename 'Original_Table.Id_new', 'Id', 'COLUMN';</code>
Considérations importantes
NOT NULL
. Définissez IDENTITY_INSERT
sur ON
avant d'insérer des données pour conserver les valeurs existantes (si vous le souhaitez).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!