Heim >Datenbank >MySQL-Tutorial >Wie kann ich einer vorhandenen Datenbanktabelle eine Identitätsspalte hinzufügen?
Ändern vorhandener Tabellen, um Identitätsspalten einzuschließen
Viele Datenbankaufgaben erfordern das Hinzufügen von Identitätsspalten zu vorhandenen Tabellen. Eine häufige Frage ist, ob eine vorhandene Spalte geändert oder eine neue erstellt werden soll.
Warum eine direkte Konvertierung nicht möglich ist
Die direkte Umwandlung einer vorhandenen Spalte in eine Identitätsspalte ist nicht möglich. Identitätsspalten generieren sequentielle Werte, beginnend mit einem definierten Startwert. Das Ändern einer vorhandenen Spalte würde die Datenintegrität beeinträchtigen.
Strategien zum Hinzufügen einer Identitätsspalte
Es gibt zwei Hauptmethoden zum Hinzufügen einer Identitätsspalte:
1. Erstellen einer neuen Tabelle mit Identität
Dazu gehört Folgendes:
2. Hinzufügen einer neuen Identitätsspalte
Dieser Ansatz besteht aus:
Illustrative SQL-Abfragen
Methode 1: Neue Tabellenerstellung
<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>
Methode 2: Hinzufügen einer neuen Spalte
<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>
Wichtige Überlegungen
NOT NULL
. Setzen Sie IDENTITY_INSERT
auf ON
, bevor Sie Daten einfügen, um vorhandene Werte beizubehalten (falls gewünscht).Das obige ist der detaillierte Inhalt vonWie kann ich einer vorhandenen Datenbanktabelle eine Identitätsspalte hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!