Anzeige:
Ergebnis 1 bis 6 von 6

Thema: delete

  1. #1
    Registrierter Benutzer
    Registriert seit
    24.03.2002
    Beiträge
    118

    delete

    Hi,

    wie kann ich bei mysql alle eintraege aller tabellen in einer datenbank loeschen. also eine art delete * from *?

    danke

    joey
    rock and roll is for rebels, it´s not family entertainment

  2. #2
    Registrierter Benutzer
    Registriert seit
    21.06.1999
    Beiträge
    677
    Lass bei DELETE einfach die WHERE Klausel weg.

    Andere Alternative bei vielen DB's ist TRUNCATE TABLE
    (Unterschied zu DELETE: erfolgt nicht in Transaktion).

  3. #3
    Registrierter Benutzer
    Registriert seit
    24.03.2002
    Beiträge
    118
    ja schon, aber dann kann cih ja nur eine tabelle loeschen, ich moechte alle loeschen und ein delete from * geht ja nicht

    joey
    rock and roll is for rebels, it´s not family entertainment

  4. #4
    Registrierter Benutzer
    Registriert seit
    21.06.1999
    Beiträge
    677
    Das geht nicht mit SQL, sondern nur mit einer prozeduralen Erweiterung,
    z.B. PL/SQL (Oracle) oder PL/pgSQL (Postgres). MySQL hat sowas nicht.

    Schreibe Dir einfach eine stored Procedure, die folgendes macht:
    - alle Tabellennamen aus dem Systemcatalog auslesen (ggf. über
    reguläre Ausdrücke beschränken, d.h. mit dem Operator SIMILAR)
    - in einer Loop über die Tabellennamen eine DELETE FROM tblname
    ausführen mittels EXECUTE (Postgres) bzw. EXECUTE IMMEDIATE (Oracle)

    Zeitaufwand unter einer halben Stunde.

  5. #5
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    mysqldump --add-drop-table -d <deine DB>|mysql <deine DB>

    solltest du einfach auf der shell mal ausprobieren
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  6. #6
    Registrierter Benutzer
    Registriert seit
    24.03.2002
    Beiträge
    118
    hi danke... ich hab jetzt einfach eine funktion dafuer geschrieben. dort uebergibtr man einfach die tabellen und dann werden diese geloescht.. trotzdem danke fuer die vielen antworten...

    jeoy
    rock and roll is for rebels, it´s not family entertainment

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •