Hinzufügen mehrerer Spalten NACH einer bestimmten Spalte in MySQL
Ich muss mehrere Spalten zu einer Tabelle hinzufügen, aber die Spalten nach einer Spalte namens "Nachname" positionieren.
Ich habe dies versucht:
ALTER TABLE `users` ADD COLUMN
(
`count` smallint(6) NOT NULL,
`log` varchar(12) NOT NULL,
`status` int(10) unsigned NOT NULL
)
AFTER `lastname`;
Ich erhalte diesen Fehler:
Sie haben einen Fehler in Ihrer SQL-Syntax; sehen Sie im Handbuch nach, das Ihrer MySQL-Server-Version entspricht, um die richtige Syntax zu verwenden nahe ') AFTER
Nachname
' in Zeile 7
Wie kann ich AFTER in einer Abfrage wie dieser verwenden?
330
3
Versuchen Sie dies
Prüfen Sie die Syntax
Wenn Sie eine einzelne Spalte nach einem bestimmten Feld hinzufügen möchten, dann sollte die folgende MySQL-Abfrage funktionieren:
Wenn Sie mehrere Spalten hinzufügen wollen, müssen Sie den Befehl 'ADD' jedes Mal für eine Spalte verwenden. Hier ist die MySQL-Abfrage dafür:
Punkt zu beachten
Bei der zweiten Methode sollte die letzte "ADD COLUMN "Spalte eigentlich die erste Spalte sein, die Sie an die Tabelle anhängen wollen.
Z.B.: wenn Sie
count
,log
,status
in der genauen Reihenfolge nachlastname
hinzufügen wollen, dann würde die Syntax eigentlich lauten:Eine Möglichkeit wäre, sich nicht um die Neuordnung der Spalten in der Tabelle zu kümmern und sie einfach durch Hinzufügen der Spalten zu ändern. Dann erstellen Sie eine Ansicht, die die Spalten in der gewünschten Reihenfolge enthält - vorausgesetzt, die Reihenfolge ist wirklich wichtig. Die Ansicht kann leicht geändert werden, um die von Ihnen gewünschte Reihenfolge wiederzugeben. Da ich mir nicht vorstellen kann, dass die Reihenfolge für programmatische Anwendungen wichtig ist, sollte die Ansicht für die manuellen Abfragen, bei denen sie wichtig sein könnte, ausreichen.