Eintrag gelöscht -> nächst größere id zurückgeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Eintrag gelöscht -> nächst größere id zurückgeben

    Hi,

    wie erhalte ich die id des Eintrages der auf den gerade gelöschten folgt? Dabei sollen folgende Fälle berücksichtigt werden:

    1. Nur ein Eintrag: Es soll z.B. -1 zurückgeben werden um zu signalisieren das die DB leer ist

    2. Der gelöschte Eintrag war der EIntrag mit der höchsten id, also soll der Eintrag mit der kleinsten id zurückgeben werden (wrap around)


    Schonmal danke!

    p-flash

  • #2
    mysql_num_rows, wenns leer ist.
    ...der Eintrag mit der kleinsten id zurückgeben werden
    Du meinst der nächst kleinere? Der kleinste wird wohl immer 0 sein?

    MAX(FELD)
    Für Rechtschreibfehler übernehme ich keine Haftung!

    Kommentar


    • #3
      Original geschrieben von Damian1984

      Du meinst der nächst kleinere? Der kleinste wird wohl immer 0 sein?

      Z.B. wenn id 5 die höchste war, soll wieder von neu begonnen werden. Es kann passieren, dass der EIntrag mit der id 0 bereits gelöscht wurde 1 und 2 auch. dann müsste 3 zurückgegeben werden.

      Danke.

      p-flash

      Kommentar


      • #4
        bsp:

        spalte_id
        ------------
        1
        2
        4
        5
        10
        11
        12


        gelöscht soll 5 werden.
        Code:
        SELECT * FROM tbl 
        WHERE id>5 
        ORDER BY spalte_id ASC 
        LIMIT 1
        liefert "10" oder nichts (falls 5 der größte wert ist)

        löschen durchführen. affected rows untersuchen. wurde nichts gelöscht, so war die tabelle leer (oder die id falsch).

        wenn etwas gelöscht wurde, nimm die "10" als das nächst größte oder starte eine neue abfrage mit
        Code:
        SELECT * FROM tbl 
        ORDER BY spalte_id ASC 
        LIMIT 1
        und du hast den kleinsten wert.

        Kommentar


        • #5
          super danke.

          Kommentar

          Lädt...
          X