Philipp: MySQL: Ersten Eintrag in Datenbank löschen?

Hallo,
 ich bin's mal wieder.
Matze hat mir mal nen Anhaltspunkt gegeben, aber leider komme ich nach mehreren Versuchen nicht dahinter.
Ich will einfach den ersten Eintrag in der Datenbank löschen (an hand der id).

Hab hier folgenden Code:
mysql_query("DELETE FROM $db_table WHERE id = (SELECT MIN(id) FROM db_table)");

Bekomme da aber ein Syntax-Error.
So what's up?

Danke im Voraus!

  1. mysql_query("DELETE FROM $db_table WHERE id = (SELECT MIN(id) FROM $db_table)");

    Bei:
      $min_id       = mysql_query("SELECT MIN(id) FROM $db_table");
      echo "$min_id";
    bekomme ich nur ein Resource id #50. Fehler gibt es keine.

    1. Bei:
        $min_id       = mysql_query("SELECT MIN(id) FROM $db_table");
        echo "$min_id";
      bekomme ich nur ein Resource id #50. Fehler gibt es keine.

      Stimmt nicht ganz. Bekomme ein Resource id #5.

      1. Hab die Lösung, ihr könnt ja nochmal drüberschauen:
          $min_id = mysql_query("SELECT MIN(id) FROM $db_table");
          $test   = mysql_result($min_id, 0);
          echo "$test";

        1. Servus,

          spätestens wenn die 1 nicht mehr als min Id gefunden wird und es zur min Id z.B. 5 kein Zeile mehr im result gibt hast Du ein Problem.

          Gruss matze

          1. Servus,

            schau doch mal untr folgendem link http://www.selfphp.info/befehlsverzeichnis/index.php nach mysql_..... dort findest Du viele Befehle zur auswertung von SQL Abfragen schau Dir im besonderen den Befehl mysql_result() an

            Gruss Matze

    2. Hallo Philipp,

      $min_id       = mysql_query("SELECT MIN(id) FROM $db_table");
        echo "$min_id";
      bekomme ich nur ein Resource id #50. Fehler gibt es keine.

      mysql_query() gibt kein Ergebnis, sondern eine Verbindungs-Kennung zurück - wie du an die ausgewählte id kommst, verrät dir die php-Dokumentation: http://de2.php.net/ref.mysql (die richtige Funktion (bzw. eine der richtigen) musst du dir natürlich noch raussuchen :-))

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  2. Hallo Philipp,

    Ich will einfach den ersten Eintrag in der Datenbank löschen (an hand der id).

    einen "ersten" Datensatz gibt es nicht - höchstens einen mit der niedrigsten id (was du vermutlich auch meinst)

    mysql_query("DELETE FROM $db_table WHERE id = (SELECT MIN(id) FROM db_table)");
    Bekomme da aber ein Syntax-Error.

    du hast vermutlich eine mysql-Version die noch keine subselects kann.

    um dein Problem zu lösen dürfte dir aber LIMIT und ORDER BY helfen. (->http://www.mysql.de/doc/de/SELECT.html) Einfach nach der id sortieren und den Query auf einen Datensatz limitieren.

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|