Freddy: phpMyAdmin delete + order by + desc limit

Hallo?

Hab eine Frage zu phpMyAdmin oder eigentlich zu
mysql um genauer zu sein.

Als ich  mysql  lernte war DELETE in Kombination mit ORDER BY ... DESC LIMIT strengstens verboten.
Heute hab ich das aus versehen eingegeben und *schock* es klappte.
Wie kann das funktionieren? Das ging doch nie?!

mysql> DELETE FROM table ORDER BY id DESC LIMIT 3;
Query OK, 3 rows affected (0.01 sec)

/me danke
Freddy

  1. Hallo Freddy

    Als ich  mysql  lernte war DELETE in Kombination mit ORDER BY ... DESC LIMIT strengstens verboten.
    Heute hab ich das aus versehen eingegeben und *schock* es klappte.

    Du hast MySQL >= 4.0.0.

    Wie kann das funktionieren? Das ging doch nie?!

    Weil es implementiert ist.

    ORDER BY seit MySQL 4.0.0, siehe Handbuch.

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz

      Ist 4.0.0 Standard bei normalen Providern oder eher exotisch?

      /me Danke
      Freddy

      1. Hallo Freddy

        Ist 4.0.0 Standard bei normalen Providern oder eher exotisch?

        Exakt 4.0.0 sollte eher exotisch sein :-)

        Es gibt allerdings Provider, die bewußt maximal 3.23.18 einsetzen, Gründe dafür können u.a. in der Lizenzfrage liegen, siehe http://www.mysql.com/company/legal/licensing/commercial-license.html.

        Freundliche Grüße

        Vinzenz

        1. Hallo Vinzenz

          Exakt 4.0.0 sollte eher exotisch sein :-)

          Die Frage war so gemeint, ob Provider mit MySQL Version 4.0.0
          ODER DARÜBER exotisch sind...

          Es gibt allerdings Provider, die bewußt maximal 3.23.18 einsetzen, Gründe dafür können u.a. in der Lizenzfrage liegen

          Ist das wiederum oft der Fall?
          Also sind das wenig Provider oder Viele?
          Soll ich noch einen workaround suchen oder soll ich mir als Lösung
          schon den neuen Syntax notieren?

          Ebenfalls Freundliche Grüße
          Freddy

          1. Hallo Freddy

            Exakt 4.0.0 sollte eher exotisch sein :-)

            Die Frage war so gemeint, ob Provider mit MySQL Version 4.0.0
            ODER DARÜBER exotisch sind...

            Das war mir völlig klar.

            Es gibt allerdings Provider, die bewußt maximal 3.23.18 einsetzen, Gründe dafür können u.a. in der Lizenzfrage liegen

            Ist das wiederum oft der Fall?
            Also sind das wenig Provider oder Viele?

            Es gibt so viele Provider und ich hab' keine Statistiken dazu. Ich weiß, dass es welche mit 3.23.x gibt, ich weiß, dass es welche mit 4.x gibt. Von Providern mit 5.x habe ich bis jetzt noch nichts gehört, das wird sich mit der Zeit sicher ändern.

            Soll ich noch einen workaround suchen oder soll ich mir als Lösung
            schon den neuen Syntax notieren?

            Das hängt schlicht und einfach von _Deinem_ Bedarf ab. Gibt es Provider, auf deren Server Du Deine Lösung einsetzen willst und die 3.23.x einsetzen, dann solltest Du eine Alternative entwickeln. Gibt es diese nicht, warum solltest Du es tun? Außer als Fingerübung.

            Wenn Du etwas Kommerzielles vorhast, warum definierst Du nicht Mindestanforderungen?

            Freundliche Grüße

            Vinzenz

            1. Danke Vinzenz!
              Nun ist alles klar - Danke!