Heim >Datenbank >MySQL-Tutorial >Wie kann ich die automatische Inkrementierung zu vorhandenen Tabellen in MySQL hinzufügen, ohne Daten zu verlieren oder Fremdschlüsselbeschränkungen zu verletzen?
Hinzufügen der automatischen Inkrementierung zu vorhandenen Tabellen in MySQL
Wenn Sie eine Datenbank erben, in der es keine automatischen Inkrementierer gibt, können Sie diese Funktion trotzdem aktivieren. So konvertieren Sie eine Primärschlüsselspalte in ein automatisch inkrementierendes Feld:
ALTER TABLE table_name MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;
Die ID-Spalte generiert jetzt automatisch eindeutige Werte für neue Zeilen, die in die Tabelle eingefügt werden.
Aber wann Wenn Sie eine Spalte mit Fremdschlüsselabhängigkeiten ändern (z. B. wenn eine andere Tabelle auf die ID verweist), tritt möglicherweise der Fehler 150 auf. So beheben Sie dieses Problem:
Sobald die Funktion zur automatischen Inkrementierung vorhanden ist, können Sie neue einfügen Zeilen ohne Angabe von Werten für die ID-Spalte füllen diese mit eindeutigen und aufeinanderfolgenden Werten:
INSERT INTO table_name () VALUES ();
Indem Sie die Spaltendefinition an Ort und Stelle ändern, vermeiden Sie die Notwendigkeit, eine neue Spalte zu erstellen und das Original zu löschen, wodurch die erhalten bleibt Primärschlüsseleinschränkung der Tabelle und Aufrechterhaltung der referenziellen Integrität.
Das obige ist der detaillierte Inhalt vonWie kann ich die automatische Inkrementierung zu vorhandenen Tabellen in MySQL hinzufügen, ohne Daten zu verlieren oder Fremdschlüsselbeschränkungen zu verletzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!