mustino: MySQL datensätze löschen

Hallo,

ich habe das Problem Datensätze in MySql Zeilenweise mit PHP zu löschen.

Gibt es die Möglichkeit z.B. die Zeile 5 in einer Tabelle zu löschen?

Gruß

Mustino

  1. Hi
    wenn jede zeile eindeutig identifiziert werden kann , zb mit einer id, kannst du schreiben:

    .... where id = '[bedingung]'

    wenn jetzt die zeile 5 die id 5 hat schreibst du:
    where id = '5'

    tschü ichen

    1. Hallo,

      danke vorerst für die Antworten.

      Ich hatte gedacht es gäbe eine Möglichkeit mit Index'en wie z.B. beim Array, das MySql mitabspeichert.

      Gruß

      Mustino

      1. hallo,

        naja ganz das ganze sehr dirty umgehen.
        du bastelt dir eine zähler variable namens i:
        dann holst du alle werte der reihe nach aus der datenbank solange bis
        i==zulöschendespaltennr(=5).
        den datensatz merkst du dir und löschst dann diesen datensatz, indem du in deinem delete statement eine riesige where klausel baust, in der alle  felder mit dem gemerkten datensatz übereinstimmen.

        gruss

        --
        no strict;
        no warnings;
        Selbstcode: (_*_) ^_^ ( . ) ( . ) :-(bla)
  2. yo,

    Gibt es die Möglichkeit z.B. die Zeile 5 in einer Tabelle zu löschen?

    jeder datensatz in einer tabelle sollte eine identifikation besizen, mit der man ihn eindeutig ansprech kann. oftmals nennt sich solch eine spalte id. denmzufolge könnte die löschung eines bestimmten datensatz in etwas so aussehen.

    DELETE FROM tabelle WHERE id=hier_gewünschte_id;

    oder aber du willst den 5 datensatz in deiner tabelle löschen, dann solltest du dir vorher die id bestimmten, zum beispel mit.

    SELECT id FROM tabelle LIMIT 4,1;

    aber darauf achten, dass es auch mindestens fünf datensätze gibt...

    Ilja

  3. Hallo mustino,

    ich habe das Problem Datensätze in MySql Zeilenweise mit PHP zu löschen.
    Gibt es die Möglichkeit z.B. die Zeile 5 in einer Tabelle zu löschen?

    Datenbanktabellen sind nicht 1:1 mit Zeilen in einem Editor zu vergleichen. Zeile 5 enthält nicht unbedingt, was Du erwartest. Du solltest etwas wissen, was die zu löschende Zeile eindeutig kennzeichnet, z.B. den Wert einer Spalte dieser Zeile, bitte beachte _eindeutig_.

    Anschließend verwendest Du die SQL-Anweisung DELETE, siehe http://www.mysql.de/doc/de/DELETE.html, z.B. in der Form

    DELETE FROM logdatei
    WHERE user = 'jcole'

    Freundliche Grüsse,

    Vinzenz