Tabellenzeilen auf und ab schieben. Wie geht das?

Dieses Thema im Forum "Datenbanksysteme für das Web" wurde erstellt von sunray, 05.09.2006.

  1. sunray

    sunray Thread Starter MacUser Mitglied

    Beiträge:
    61
    Zustimmungen:
    0
    Registriert seit:
    15.02.2005
    Hallo Programmier Freaks,


    Ich benötige eine knackige SQL Befehlskette, mit der man eine Tabellenzeile schrittweise aufwärts bzw. abwärts schieben kann. Also ich habe z.B. 10 durchnummerierte Datenzeilen und möchte jetzt aus Eintrag 3 die Nr 2 machen. Gleichzeitig muss die 2 dann die 3 werden. Klar.

    Kann mir da jemand weiter helfen?



    Vielen Dank.

    Gruß, sunray
     
  2. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.039
    Zustimmungen:
    1.315
    Registriert seit:
    13.09.2004
    Das ist eine Transaktion ;)

    BEGIN TRANSACTION
    UPDATE zeile1 SET eintrag=2 where unique_id=12345
    UPDATE zeile2 SET eintrag=3 where unique_id=54321
    COMITT TRANSACTION

    Die genaue Syntax ist vom DBMS abhängig, jedenfalls wird so aus mehreren Eine. Gibt es ein Problem wird ein Rollback durchgeführt und alles ist beim Alten!
     
  3. Jakob

    Jakob MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    Registriert seit:
    05.01.2004
    Ich glaube Transaktionen gehen mit MySQL <5 noch nicht. Falls Du das hast, würde ich es mit einem Zwischenschritt lösen.

    Also aus 3 erstmal 3a machen, aus der 2 die 3 und aus der 3a die 2.

    Wenn Transaktionen gehen, ist das aber immer der bessere Weg, schon wegen dem Rollback.
     
Die Seite wird geladen...

Diese Seite empfehlen