toby: MySQL: bestimmte Zeile löschen

hallo

Wie kann man ne bestimmte zeile löschen, bzw, die zeilennr eines eintrags ermitteln, denn manchmal befinden sich mehrere gleiche einträge in der db, wovon nicht alle gelöscht werden sollen !

danke

  1. Hi,

    Wie kann man ne bestimmte zeile löschen,

    Durch Angabe einer Where-Klausel, die genau diese Zeile auswählt.

    bzw, die zeilennr eines eintrags ermitteln,

    Definiere "Zeilennr eines Eintrags" - eine Datenbank ist erstmal ein Haufen _ungeordneter_ Daten

    denn manchmal befinden sich mehrere gleiche einträge in der db, wovon nicht alle gelöscht werden sollen !

    Dann ist schon beim Design der Datenbank was schiefgelaufen.
    Jede Tabelle sollte einen UNIQUE key haben ==> es gibt KEINE 2 gleichen Einträge...

    Ggf. könnte aber - wenn das DB-Design verhunzt ist - limit helfen, aber sinnvoller wäre es, die Ursache zu beseitigen, nicht an den Symptomen rumzudoktorn.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
  2. Hi,

    in einer Datenbank hat jeder Eintrag normalerweise eine eindeutige ID. Anhand selbiger kannst du den Datensatz, den du löschen magst, bestimmen.

    MfG
    Dark Sider

  3. Hallo toby,

    Du hast doch sicherlich eine Spalte, die bei jedem Eintrag unterschiedlich
    ist. Darüber kannst du den Datensatz identifizieren und gezielt mittels einer
    passenden WHERE-Klausel im Query löschen.

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
  4. wenn die Zeilen wirklich komplett gleich sind, kannst Du einfach

    DELETE FROM tabelle WHERE zelle1 = 'kriterium1' AND zelle2 = 'kriterium2' AND zelle3 = 'kriterium3' LIMIT 1;

    verwenden... dann löscht er von den 3 gleichen zeilen nur eine...
    du mußt dann aber ALLE zellen in der WHERE Klausel verwenden, ansonsten könnte es zu falschen Löschungen kommen