Stanload: Spalten in phpMyAdmin tauschen?

Hallöchen,

ich habe eine vielleicht etwas blöde Frage:
Ich habe eine Tabelle, in der u.a. folgende 3 Spalten (mit Inhalt) enthalten sind:

  • eventheader
  • event
  • eventplace

Ich würde nun gerne die Spalte eventplace mit event von der Reihenfolge her tauschen, so dass es dann so auschaut:

  • eventheader
  • eventplace
  • event

Leider finde ich keinen passenden Befehl mit dem ich dies machen kann ohne dass die Inhalte verlorengehen.

Könntet Ihr mir vielleicht weiterhelfen?

Bis denn

Stanload

  1. Hallo,

    Ich würde nun gerne die Spalte eventplace mit event von der Reihenfolge her tauschen, so dass es dann so auschaut:

    Ich sehe nicht ein, warum die Reihenfolge ueberhaupt
    eine Rolle spielen sollte.
    Du verwendest doch nicht etwa
    SELECT * FROM Tabelle
    und gehst die Felder dann nach Reihenfolge durch?
    Sowas waere sowieso schlechter Stil.

    Eine einfache Idee:
    Mach einen Dump der Tabelle (Struktur und Inhalt),
    aendere die Reihenfolge im Struktur-Dump
    und spiel das ganze zurueck.

    Gruesse,

    Thomas

    1. Hallöchen,

      Du verwendest doch nicht etwa
      SELECT * FROM Tabelle
      und gehst die Felder dann nach Reihenfolge durch?

      `
      Wie meinst Du das?

      Eine einfache Idee:
      Mach einen Dump der Tabelle (Struktur und Inhalt),
      aendere die Reihenfolge im Struktur-Dump
      und spiel das ganze zurueck.

      Hm, aber dann hab ich doch in der Dump-Datei auch die selbe Reihenfolge wie vorher.

      Ich möchte es machen, weil ich die Tabelle wohl erst einmal per phpMyAdmin pflegen werde ;-).

      Bis denn

      Stanload

      1. Hallo,

        Du verwendest doch nicht etwa
        SELECT * FROM Tabelle
        und gehst die Felder dann nach Reihenfolge durch?
        Wie meinst Du das?

        SELECT * FROM Tabelle
        ist schlecht, siehe http://www.dclp-faq.de/q/q-sql-select.html
        Du solltest immer genau die Variablen anfordern,
        die Du wirklich brauchst:
        SELECT var1, var2, var3 FROM Tabelle
        Und noch dann ist es nicht besonders klug,
        die Variablen ueber die Reihenfolge zu verwenden.

        Hm, aber dann hab ich doch in der Dump-Datei auch die selbe Reihenfolge wie vorher.

        Nein.
        Ich meinte:
        Exportieren

        [X] Struktur
        [X] Mit Drop Table

        [X] Daten
        [X] Vollstaendige INSERTs

        Gibt Dir z.B. sowas:

        CREATE TABLE Tabellenname (
          id int(10) unsigned NOT NULL auto_increment,
          nickname varchar(20) NOT NULL default '',
          vollname varchar(100) NOT NULL default '',
          PRIMARY KEY  (id)
        );

        INSERT INTO Tabellenname (id, nickname, vollname) VALUES (1, 'stanload', 'Vorname Nachname');
        INSERT INTO Tabellenname (id, nickname, vollname) VALUES (2, 'pixpix', 'Vorname Mittelname Nachname');

        Nun kannst Du einfach die Zeilen tauschen beim CREATE TABLE Befehl:

        CREATE TABLE Tabellenname (
          id int(10) unsigned NOT NULL auto_increment,
          vollname varchar(100) NOT NULL default '',
          nickname varchar(20) NOT NULL default '',
          PRIMARY KEY  (id)
        );

        Und alles wieder zurueckspielen.
        (Tabelle natuerlich zuerst loeschen.)
        Die Felder haben nun die gewueschte Reihenfolge.

        Ich möchte es machen, weil ich die Tabelle wohl erst einmal per phpMyAdmin pflegen werde ;-).

        Achso. Das _ist_ ein Grund, den ich gut nachvollziehen kann;-)

        Gruesse,

        Thomas

        1. Hallöchen,

          Du solltest immer genau die Variablen anfordern,
          die Du wirklich brauchst:
          SELECT var1, var2, var3 FROM Tabelle
          Und noch dann ist es nicht besonders klug,
          die Variablen ueber die Reihenfolge zu verwenden.

          Hm, obwohl ich alle Spalten brauche?
          Komische Programmiersprache *g*

          Nein.
          Ich meinte:
          Exportieren

          [X] Struktur
          [X] Mit Drop Table

          [X] Daten
          [X] Vollstaendige INSERTs

          Gibt Dir z.B. sowas:

          CREATE TABLE Tabellenname (
            id int(10) unsigned NOT NULL auto_increment,
            nickname varchar(20) NOT NULL default '',
            vollname varchar(100) NOT NULL default '',
            PRIMARY KEY  (id)
          );

          INSERT INTO Tabellenname (id, nickname, vollname) VALUES (1, 'stanload', 'Vorname Nachname');
          INSERT INTO Tabellenname (id, nickname, vollname) VALUES (2, 'pixpix', 'Vorname Mittelname Nachname');

          Nun kannst Du einfach die Zeilen tauschen beim CREATE TABLE Befehl:

          CREATE TABLE Tabellenname (
            id int(10) unsigned NOT NULL auto_increment,
            vollname varchar(100) NOT NULL default '',
            nickname varchar(20) NOT NULL default '',
            PRIMARY KEY  (id)
          );

          Und alles wieder zurueckspielen.
          (Tabelle natuerlich zuerst loeschen.)
          Die Felder haben nun die gewueschte Reihenfolge.

          Da wären wir uns ja doch noch einig geworden *g*.

          Besten Dank!

          Bis denn

          Stanload

          1. hi,

            Du solltest immer genau die Variablen anfordern,
            die Du wirklich brauchst:
            SELECT var1, var2, var3 FROM Tabelle
            Und noch dann ist es nicht besonders klug,
            die Variablen ueber die Reihenfolge zu verwenden.

            Hm, obwohl ich alle Spalten brauche?
            Komische Programmiersprache *g*

            _noch_ brauchst du alle spalten.
            aber vielleicht erweiterst du deine tabelle zukünftig mal, zum beispiel im eine weitere spalte vom typ BLOB - deren inhalte können sehr gross werden. wenn du jetzt in deinem bisherigen script, dass nur die ersten drei spalten braucht, SELECT * drin stehen hast, werden die werte aus der BLOB-spalte trotzdem bei jedem auslesen vom DB- an den web-server übergeben. das geht auf die performance.

            gruss,
            wahsaga