• 02.05.2024, 21:21
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Loeschung aller Daten aus MySQL Tabellen erzwingen

Freitag, 20. Oktober 2006, 01:56

Hi Leute,
ich glaube mit der Ueberschrift hab ich mein Problem ganz gut umschrieben: Wie zwinge ich MySQL 5.1 dazu, saemtliche Daten aus den vorhandenen Tabellen zu loeschen, obwohl es verschiedene Fremdschluessel-Constraints gibt, die genau das verhindern?
DROP SCHEMA bzw DROP TABLE sind keine Alternativen, der erneute Aufbau der Tabellen wuerde viel zu lange dauern.
TRUNCATE TABLE funktioniert genauso wenig wie DELETE FROM. Selbst wenn ich das ganze zwischen START TRANSACTION und COMMIT packe beschwert sich die Datenbank ueber die Constraint-Verletzung (welch ein Hohn, immerhin loesche ich in dieser einzelnen TA saemtliche Daten aus der DB, wo bitteschoen soll da eine Constraint-Verletzung auftreten koennen?!).
Auch mit ALTER TABLE DISABLE KEYS bin ich nicht weitergekommen. Selbe Fehlermeldung, auch wenn ich das alles in eine Transaktion packe.

Mir sind mittlerweile die Ideen ausgegangen und der Frustpegel rangiert knapp unterhalb der Explosionsschwelle.

Gibt es dort draussen irgendjemanden, der mir bei meinem Problem weiterhelfen kann?

Ich habe absolut keine Vorstellung, was da schief laeuft, geschweige denn wie ich das Problem noch angehen koennte.

Hilfe!

Damien

Re: Loeschung aller Daten aus MySQL Tabellen erzwi

Freitag, 20. Oktober 2006, 02:02

also wenn du probleme mit constraints hast, dann versuchst du wohl eine tabelle zu löschen, die noch mit einer anderen in abhängigkeit steht (großeltern -> eltern -> kind prinzip..) das heißt, du musst erst die tabellen löschen die keine abhängigkeiten haben und dich somit immer weiter hocharbeiten bis eben alles weg ist..

ich befürchte aber hiermit was erzählt zu haben was du eh schon weißt, aber ich wüsste nicht wie man das sonst machen sollte..


edit: ahhh sry, alles mist, hab gedacht du willst die ganzen tables löschen, ned nur den inhalt..

messi

Re: Loeschung aller Daten aus MySQL Tabellen erzwi

Freitag, 20. Oktober 2006, 11:35

Der eine Kollege fragt, ob du überhaupt die Delete-Rechte hast;

der eine meint, dass du PHPMyAdmin benutzen sollst ;)
Da steht nix :-P

powerslide

unregistriert

Re: Loeschung aller Daten aus MySQL

Freitag, 20. Oktober 2006, 14:39

und.. wen du erstmal nur die struktur dump'st .. und dann n drop table .. dann die struktur wieder ruff und fertig??

Re: Loeschung aller Daten aus MySQL Tabellen erzwi

Freitag, 20. Oktober 2006, 17:26

Zitat

Der eine Kollege fragt, ob du überhaupt die Delete-Rechte hast;


Habe ich.

Zitat

der eine meint, dass du PHPMyAdmin benutzen sollst


Die Tabellen werden von einer Java-Anwendung aus genutzt und im Rahmen einer JUnit Testsuite staendig geloescht. PHP-Admin ist daher keine Alternative.

Zitat

und.. wen du erstmal nur die struktur dump'st .. und dann n drop table .. dann die struktur wieder ruff und fertig??


Ich muss die Datenbank fuer jeden JUnit-Test komplett leeren. Momentan bedeutet das ca. 150 komplette Loeschungen, Tendenz steigend. Das Schema wird ueber Hibernate aufgebaut, die meisten Zugriffe werden ebenfalls darueber abgewickelt. Nur an Performance-kritischen Stellen werden JDBC-Zugriffe eingesetzt. Wenn ich die Tabellen jedesmal komplett in die Tonne trete und warten muss bis Hibernate in die Puschen kommt wird die Laufzeit der Tests ueber Gebuehr verlaengert.

[hr]

edit: schieb