franc (francwalter): Tabellenreihenfolge in einer MySQL DB ändern

Hallo,
wenn ich richtig verstehe kann ich mit:

ALTER TABLE <tabellenname> CHANGE <feld> <feld> <datentyp> AFTER <nach_diesem_feld_verschieben>

(oder statt AFTER <...> FIRST für die erste stelle)

Konkret z.B.:

ALTER TABLE kunden CHANGE id id INTEGER AFTER nachname

in einer MySQL Datenbank die Reihenfolge der Felder ändern.
Nützlich dann z.B. wenn ich eine Tabelle schon längst verwende und hinterher ein neues Feld einfüge, das soll aber aus kosmetischen Gründen eher am Anfang stehen.

Gruss francwalter

  1. Mahlzeit!

    Wenn du nur über die Konsolearbeitest, dann kannst du doch direkt hinter dem richtigen Feld einfügen..

    Beispiel:
    ALTER TABLE MEINE\_TABELLE ADD NEUES\_FELD VARCHAR( 123 ) NOT NULL AFTER ALTES\_FELD ;

    Wenn du aber die Möglichkeit hast mit phpMyAdmin zu arbeiten, dann würde ich dir dazu raten. Damit geht meistens vieles schneller... obwohl die Webanwendung bei Weitem nicht alles abdeckt!

    Gruß,
    Mr.Luke

    Hallo,
    wenn ich richtig verstehe kann ich mit:

    ALTER TABLE <tabellenname> CHANGE <feld> <feld> <datentyp> AFTER <nach_diesem_feld_verschieben>

    (oder statt AFTER <...> FIRST für die erste stelle)

    Konkret z.B.:

    ALTER TABLE kunden CHANGE id id INTEGER AFTER nachname

    in einer MySQL Datenbank die Reihenfolge der Felder ändern.
    Nützlich dann z.B. wenn ich eine Tabelle schon längst verwende und hinterher ein neues Feld einfüge, das soll aber aus kosmetischen Gründen eher am Anfang stehen.

    Gruss francwalter

    1. Wenn du aber die Möglichkeit hast mit phpMyAdmin zu arbeiten, dann würde ich dir dazu raten. ...

      Wo finde ich aber in phpMyAdmin genau so eine Umsortierung?
      Ich verwende meistens den MySQL Query Browser (1.1.12) und da fehlt dieses Feature wenigstens. Da kann man auch neue Felder nur hinten anfügen, was bei phpMyAdmin ja noch geht.

      1. Hi, warum ist es so wichtig für dich, wo du die neuen Felder ein/anfügst?

        Frank