PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schleifen in MySQL möglich?



asterix88
18-12-2012, 12:40
Hallo,
kann man in einer bestehenden Tabelle eine Spalte z.B. durchnummerieren?

Beispiel:
Es gibt eine Tabelle mit mehreren Spalten, allerdings ohne Ordnung. Selbst die ID (also der Primärschlüssel) ist keine Zahl.

Gibt es eine Möglichkeit "durch die Tabelle zu laufen" und z.B. jede Spalte zu nummerieren? Also in die erste Spalte eine 1, in die 2. eine 2 u.s.w?

Mfg asterix

undefined
18-12-2012, 14:22
Inkrementale Zähler auf Abfragen lassen sich in MySQL nicht umsetzen weil es eine Prozedurale Sprache ist.
Du kannst höchsten eine neue Auto Increment Spalte einfügen und über eine Temporäre Tabelle (HEAP) diese neue Sortieren.

asterix88
18-12-2012, 15:00
OK, das hab ich mir schon fast gedacht.
Aber deine Erklärung verstehe ich nicht ganz.

1. Ich füge der Tabelle eine Spalte hinzu und weise ihr ein Auto-Inkrement zu.
2. Dann erstelle ich eine weitere Tabelle, die die gleiche Anzahl Zeilen hat wie die andere.

Und dann?

undefined
18-12-2012, 19:46
Nicht ganz - Du legst eine Kopie auf die Temporäre Tabelle und sortierst damit alles neu.
"Bei erfolg" überschreibst du die alte Tabelle mit den Sortierten spalten.
http://dev.mysql.com/doc/refman/5.1/de/memory-storage-engine.html