Datensätze löschen

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

  • Datensätze löschen

    Hallo!

    Ich habe 26 Datensätze. Die Datenbankstruktur sieht so aus:
    ID, TIME, NAME
    Dabei ist TIME immer der timestamp, wann NAME sich eingetragen hat.
    nun mache ich ORDER TIME DESC LIMTI 20, um die neusten 20 namen ausgeben zu lassen.
    Wie kann cih dass nun machen, dass die 6 Datensätze, die nciht angezeigt werden, automatisch gelöscht werden?

    MfG: Deathrow
    Zuletzt geändert von Deathrow; 11.05.2004, 20:07.
    Mit freundlichem Gruß,
    Deathrow

  • #2
    die ids der 20 nehmen und in der form 1,2,3,...,n als string formatieren.

    und dann nur ...
    Code:
    DELETE FROM tabelle WHERE id NOT IN(1,2,3,...,n);
    
    DELETE FROM tabelle WHERE id NOT IN(<derstring>);
    aber warum willst du das löschen?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Geht das cniht auch als array, anstatt als string?

      Weil: Es werden ehe immer nur die neusten 20 angezeigt und wenn da 50.000 stk. drinne stehen, und immer nur die 20 neusten ausgegeben werden, nützen die anderen cniht viel!
      Mit freundlichem Gruß,
      Deathrow

      Kommentar


      • #4
        Zusammenspiel SQL und PHP ist nicht klar???

        mach mal echo array('1','2');

        was kommt raus?

        Kommentar


        • #5
          Original geschrieben von Deathrow
          Weil: Es werden ehe immer nur die neusten 20 angezeigt und wenn da 50.000 stk. drinne stehen, und immer nur die 20 neusten ausgegeben werden, nützen die anderen cniht viel!
          du weisst schon, was ein archiv ist?
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Ja, ich weis was nen Archiv ist.
            Könnte cih auch mit rein machen. Wär ne Überlegung wert!
            Mit freundlichem Gruß,
            Deathrow

            Kommentar


            • #7
              Re: Datensätze löschen

              Original geschrieben von Deathrow
              Wie kann cih dass nun machen, dass die 6 Datensätze, die nciht angezeigt werden, automatisch gelöscht werden?
              warum kombinierst du nicht DELETE mit einem LIMIT, welches alle datensätze ab dem 20. auswählt ...?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                ich hab auch ne frage bezüglich datensätze löschen,

                und zwar hab ich in meiner datenbank 3 tabellen (messages, messages_out, messages_cfg) die jeweils mit nem timestamp versehen sind der überall datum heißt.

                ich möchte nun alle inhalte die älter sind als zb. 60 tage automatisch löschen lassen.

                man müsste also irgendwie prüfen wie alt der timestamp ist und alle die älter als zb 60 tage sind dann löschen...

                da ich mit dem zeitzeugX etwas auf kriegsfuss stehe würd ich mich freuen wenn mir jemand helfen kann
                ps.: jeder hat mal klein angefangen

                Kommentar


                • #9
                  http://dev.mysql.com/doc/mysql/en/Da...functions.html
                  Die Zeit hat ihre Kinder längst gefressen

                  Kommentar

                  Lädt...
                  X