Entwickler-Ecke
Datenbanken - MySQL Zeilen einer Tabelle verschieben, geht das ?
hibbert - Di 06.04.04 15:58
Titel: MySQL Zeilen einer Tabelle verschieben, geht das ?
Hi,
ich habe eine MySQL Datenbank.
Nun habe ich eine Tabelle, zb
User.
In dieser Tabelle befinden sich folgendes Zeilen:
- username
- passwort
- email
- active
- icq
Nun möchte ich gerne, dass die zeile icq nicht an letzter stelle steht, sondern an 2 Stelle, sodass das ganze dann so aussieht:
- username
- icq
- passwort
- email
- active
Ist sowas möglich?
Achja, wenn die Zeilen keine Informatioen enthalten würden, wäre das ganze recht einfach, mit löschen und neu erstellen, doch es befinden sich ca. 200 Einträge in dieser Tabelle !!
Kann ich also die zeile in ihrer reihenfolge verschieben?
thx hibbert
Moderiert von
tommie-lie: Topic verschoben
atarigold - Di 06.04.04 19:11
Bei einer SQL-DB ist die Reihenfolge der Spalten völlig egal, da du über eine Abfrage (TQuery) die Ausgabereihenfolge sehr einfach steuern kannst.
Die SQL-Abfrage müßte etwa so formuliert werden:
SELECT username, icq, passwort, email, active FROM user
Wenn du zusätzlich Aliase verwendest, kannst du auch noch die Spaltenüberschrift beeinflussen, funktioniert wie folgt: SELECT username AS User, icq AS .....
Gruß
hibbert - Di 06.04.04 22:30
mir geht es nicht um die abfrage, da weiß ich ja, dass es mir egal ist.
Ich möchte nur die User eines Community Systems in ein anderes übertragen.
Doch die reihenfolge der zeile ist anders, desshalb kann ich das nicht importieren.
hibbert
grayfox - Di 06.04.04 23:38
hallo hibbert!
kann es sein, dass du in deinem ersten beitrag die begriffe 'zeilen' und 'spalten' vertauscht hast?
denn eine tabelle mit deiner beschreibung macht nicht viel sinn ;)
am einfachsten ist es, eine neue tabelle mit der reihenfolge der felder (spalten) zu erstellen, in der die anwendung die einträge erwartet und deine daten dorthin zu schaufeln. bei 200 datensätzen kann ja das keinen grossen zeitaufwand darstellen.
du könntest auch in deiner bestehenden tabelle neue spalte anlegen, die einträge umkopieren und die alten spalten löschen, sofern mysql 'alter table' versteht...
mfg, stefan
Larayna - Mi 07.04.04 10:12
MySql versteht in der aktuellsten version eigentlich alle Standard-SQL-Statements, sollte also auch bei "alter" keine Probleme machen :).
Mir zumindest sind bisher keine begegnet.
atarigold - Mi 07.04.04 10:42
Wenn ichs jetzt recht verstanden habe, willst du also nur aus einer Tabelle user Daten in eine 2 Tabelle (tabelle2) importieren und letzere hat eine andere Reihenfolge der Spalten.
INSERT INTO tabelle2 SELECT username, icq, passwort, email, active FROM user
Sollte die Spaltenzahl in Tabelle 2 nicht identisch sein, muß entsprechend vor dem Select noch die Spaltenliste angegeben werden.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!