MySQL: Reihenfolge der Felder ändern

maceis

maceis

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2003
Beiträge
16.880
Reaktionspunkte
626
Hallo zusammen,

ich möchte gerne die Reihenfolge der Felder in einer Tabelle ändern.
Genauer gesagt möchte ich gerne ein Feld an einer anderen Stelle einfügen (um zwei Stellen nach hinten schieben).

In der Tabelle sind Daten enthalten, die sollten natürlich so erhalten bleiben.

Gibt es da eine einfache Möglichkeit?

Danke und Gruß
maceis
 
Warum denn? Du kannst die Felder doch einfach in der Reihenfolge abfragen in der du sie möchtest? Wie die Felder effektiv in der DB gespeichert werden sollte keine Rolle spielen.
 
Nun ja, es geht eigentlich nur um einen Benutzer der Datenbank, der Werte mithilfe von phpMyAdmin einpflegen soll.
Den stört es halt, wenn die Felder hier in so einer Reihenfolge erscheinen:
F1
F2
F6
F4
F5
F7

Das ganze hat historische Gründe, weil früher F4 und F5 aus F2 errechnet werden konnten.
 
Hmm, da bin ich jetzt in MySQL zuwenig drin, aber evtl. könntest du eine View für diesen Benutzer erstellen über die er dann die Daten pflegen kann (mal abgesehen davon, dass ich bei der Kombination "Endbenutzer", "phpMyAdmin" und "Daten pflegen" ein leicht mulmiges Gefühl in der Magengegend bekomme... ;) )
 
Ich würde die Spalten F6 und F7 in F6x und F7x umbenennen und zwei neue Spalten F6 und F7 anlegen. Dann jeweils die Werte aus F6x und F7x über ein Update in F6 bzw. F7 kopieren. Nun hat man F1 F2 F6x F4 F5 F7x F6 F7. Jetzt F6x und F7x löschen und das Ergebnis wäre F1 F2 F4 F5 F6 F7.

Wie redweasel schon sagt eigentlich unnötig, aber so würde ich es machen.
 
Der Begriff "Benutzer" war hier vielleicht verwirrend.
Es geht eigentlich darum, dass ich nicht alles selber machen möchte.

Datenbanktechnisch mag die Änderung der Feldreihenfolge unnötig sein.
Bevor ich aber lange über so einen Unfug diktiere, mach ich´s einfach schnell.

Danke für den Tipp, tigion.
Müsste so wohl funktionieren.
 
hm, ich glaube View fällt bei MySQL aus ( ich meine die sind nur lesbar in MySQL). Bleibt der Weg eine zweitge Tabelle anzulegen, mit select into zu füllen und das Original dann später zu droppen.
 
Ich hatte bisher noch keine Zeit, aber der Weg laut Beitrag #5 scheint mir hier einfacher zu sein.

Die Tabelle ist doch recht umfangreich, was die Anzahl der Felder angeht.
Da hat man dann so viel zu schreiben, was nicht nur lästig sondern auch fehlerträchtig ist.
 
Zurück
Oben Unten