2017-02-24 3 views
0

Ich brauche eine SQL-Abfrage, die nach einer vorhandenen Spalte eine neue Spalte hinzufügt,
, so dass die Spalte in einer bestimmten Reihenfolge hinzugefügt wird.
Neue Spalte nach vorhandener Spalte in sqlite hinzufügen

ALTER TABLE table_name ADD COLUMN MiddleName varchar(50) AFTER Gender. 
+0

Verwenden Sie MS SQL Server oder Sqlite? – jarlh

+0

Dies ist ein [FAQ] (http://www.sqlite.org/faq.html#q11). –

Antwort

0

Sie haben zwei Möglichkeiten. Erstens könnte man einfach eine neue Spalte mit dem folgenden hinzu:

ALTER TABLE {tableName} ADD COLUMN COLNew {type}; 

Zweitens und kompliziert, aber tatsächlich an die Säule setzen, wo Sie es wollen, wäre es, die Tabelle umbenennen:

ALTER TABLE {tableName} RENAME TO TempOldTable; 

Ich hoffe es hat geholfen.

+0

Danke Asif für die schnelle Antwort. Ich möchte eine neue Spalte mit einer vorhandenen Spalte hinzufügen. Angenommen, ich habe 4 Spalten Vorname, Nachname, E-Mail, Geschlecht, Stadt. wenn ich ALTER TABLE ausführen werde {tableName} ADD COLUMN COLNew {type}; Diese Abfrage wird neue Spalte nach City (LastColumn) hinzufügen, aber ich werde nach "Geschlecht" benötigt. Das ist meine Anforderung. –

+0

@sureshchouksey Es ist nicht möglich, eine Spalte zwischen zwei vorhandenen Spalten mit einer Anweisung 'ALTER TABLE' in SQLite hinzuzufügen. Dies funktioniert wie geplant (http://www.sqlite.org/lang_altertable.html). Die neue Spalte wird immer an das Ende der Liste der vorhandenen Spalten angehängt. Verwenden Sie FIRST oder AFTER col_name, um eine Spalte an einer bestimmten Position innerhalb einer Tabellenzeile hinzuzufügen. Standardmäßig wird die letzte Spalte hinzugefügt. Sie können auch FIRST und AFTER in CHANGE- oder MODIFY-Operationen verwenden, um Spalten in einer Tabelle neu anzuordnen. –

+0

@sureshchouksey Vermutlich duplicate dies möglicherweise [hier] (http://stackoverflow.com/questions/24477765/sqlite-alter-table-add-column-between-existing-columns). –

Verwandte Themen