stefan d.: Delete statement mit order by

hallo,

ich hab da ein problem mit einem eigentlich einfachen delete statement:

DELETE FROM UserChoice WHERE ChoiceID = '16' ORDER BY Datum ASC LIMIT 3;

das problem ist der ORDER BY teil, wenn ich den weggebe dann werden wahllos irgendwelche einträge gelöscht, ich will aber immer die letzten 3. mit ORDER BY wird die anfrage einfach nicht ausgeführt, bzw. in phpMyAdmin ein error.

wenn ich ASC weglasse hab ich das selbe problem.
ORDER BY Choicecounter - der primärschlüssel auto increment - selbiges problem.

bitte um hilfe
vielen Dank
Stefan D.

  1. Servus Stefan D.

    warum um alles in der Welt willst du beim Löschen etwas ordnen?
    DELETE FROM [Eigner.]Tabviewname [Kürzel] [WHERE Suchbedingung]

    das ist alles. Mehr gibts nicht, also auch kein order by

    Beste Grüße
    Noodles

  2. ich hab da ein problem mit einem eigentlich einfachen delete statement:

    DELETE FROM UserChoice WHERE ChoiceID = '16' ORDER BY Datum ASC LIMIT 3;

    Bitte wirf einen Blick in die MySQL-Anleitung, dort steht genau drin, wie delete funktioniert und wie nicht.

    Gruß,
      soenk.e

    1. ich hab da ein problem mit einem eigentlich einfachen delete statement:

      DELETE FROM UserChoice WHERE ChoiceID = '16' ORDER BY Datum ASC LIMIT 3;

      Bitte wirf einen Blick in die MySQL-Anleitung, dort steht genau drin, wie delete funktioniert und wie nicht.

      Gruß,
        soenk.e

      also eigentlich hab ich das statement von mysql.org mit copy, paste übernommen.

      DELETE FROM somelog
      WHERE user = 'jcole'
      ORDER BY timestamp
      LIMIT 1

      und genau darum -->
         This will delete the oldest entry (by timestamp) where the row
         matches the WHERE clause.

      will ich ein order by verwenden!!

      mfg
      StD

      1. Hi Stefan

        Hast du das ganze auch bis ans Ende gelesen?

        Da steht nämlich:

        If an ORDER BY clause is used (available from MySQL 4.0.0), the rows will be deleted in that order. This is really only useful in conjunction with LIMIT. For example:

        Sprich, wenn du ein 3.x MySQL hast, wie es bei der Mehrheit der Provider noch sein dürfte, dann kannst du das ganze gleich wieder vergessen.

        Gruss Daniela

        --
        Nein, wir frieren unsere Hühner nicht auf Gletschern fest.
        Selfcode: sh:) fo:) ch:) rl:) br:> n4:| ie:{ mo:) va:) de:] zu:} fl:( ss:) ls:&