Neue Spalten in der Mitte einer Tabelle einfügen?

7

Wenn "ALTER TABLE" ADD col "verwendet wird, wird die neue Spalte am Ende der Tabelle hinzugefügt. Zum Beispiel:

%Vor%

Tabelle wird

%Vor%

Wie jedoch die Benennung meiner Beispielspalten andeutet, würde mir gefallen, dass die Tabelle so endet:

%Vor%

Mit COL_3 vor COL_4.

Gibt es neben dem Neuaufbau der Tabelle von Grund auf auch ein Standard-SQL, das die Aufgabe erledigt? Wenn es jedoch kein Standard-SQL gibt, könnte ich immer noch einige herstellerabhängige Lösungen für Oracle verwenden, aber auch hier wäre eine Standardlösung am besten.

Danke.

    
Robert Gould 16.11.2009, 08:32
quelle

5 Antworten

11

Spalten werden standardmäßig nur am Ende hinzugefügt.

Um eine Spalte in die Mitte einzufügen, müssen Sie die Tabelle und alle zugehörigen Objekte (Abhängigkeiten, Indizes, Standardwerte, Beziehungen usw.) löschen und neu erstellen.

Mehrere Tools tun dies für Sie, und abhängig von der Größe der Tabelle kann dies eine intensive Operation sein.

Sie können auch Ansichten in der Tabelle erstellen, die Spalten in der Reihenfolge der Bevorzugung anzeigen (indem Sie die tatsächliche Reihenfolge in der Tabelle überschreiben).

    
Raj More 16.11.2009, 08:36
quelle
5

Es funktioniert.

%Vor%     
user2894607 21.01.2015 04:42
quelle
2

Ссылка gibt an, dass dies nicht möglich ist, und schlägt Umgehungslösungen für das Umbenennen der Tabelle und das Ausführen von a vor create table as select... oder (etwas, mit dem ich nicht vertraut bin) "Verwenden Sie das DBMS_REDEFINITION-Paket, um die Struktur zu ändern".

    
ysth 16.11.2009 08:41
quelle
2
  

ALTER TABLE TABLENAME   ALTERSÄULE-SPALTE   POSITION X;

    
Orhan Cinar 16.11.2009 09:53
quelle
1

Ich weiß, es ist ein altes Thema (2009), aber vielleicht hilft es jemandem, der immer noch nach einer Antwort sucht. In MySQL funktioniert es 2 fügen Sie eine Spalte irgendwo in der Tabelle hinzu.

%Vor%

Dies ist 2 Geben Sie eine Textspalte ein, aber Sie können alle Eigenschaften festlegen, die Sie für die neue Spalte haben möchten. Achten Sie darauf, dass Sie sie mit Großbuchstaben schreiben.

Ich habe es mit Xampp, MySQL admin, gefunden, als ich es benutzte 2 füge eine Spalte in die Mitte einer MySQL-Tabelle ein.

Ich hoffe, es hilft.

    
Sherazin 10.06.2014 06:03
quelle

Tags und Links