Invisible Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 Hallo! Ich habe eine Datenbank, aus der ich beliebige Datensätze (Bewerber )löschen will. Manche Bewerber gibt es doppelt, wenn der erst-eingetragene fehlerhaft war (z.b. ausversehen das falsche geschlecht ausgewählt) und dann der Bewerber nochmal richtig eingetragen wurde. Wenn ich jetzt den falschen Datensatz löschen will, kommt folgende Meldung: #1217 - Cannot delete or update a parent row: a foreign key constraint fails Wenn ich Datensätze löschen will, die es nur einmal gibt, funzt alles. nur bei doppelten nicht.. Muss dazu sagen, dass auch die doppelten unterschiedliche ID's haben, also jeder Datensatz hat eine eindeutige. meine Abfrage lautet: DELETE FROM Applicants WHERE ID=622; <=der falsche... der richtige hat die id 623... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 Es scheint so als wären in anderen Tabellen noch Daten zu der ID 622. Gibt es Tabellen in denen die ID der Applicants als Fremdschlüssel eingebunden ist ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Invisible Geschrieben 26. Juni 2006 Autor Teilen Geschrieben 26. Juni 2006 Ich muss zugeben, dass ich das nicht weiss, auf anhieb.. selbst habe ich die db nicht entwickelt, sollte nur das ganze system erweitern.. wie kann ich es am besten rausfinden(sind 33 tabellen)? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 Welches Datenbank System kommt denn zum Einsatz ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Invisible Geschrieben 26. Juni 2006 Autor Teilen Geschrieben 26. Juni 2006 mysql Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 wie kann ich es am besten rausfinden(sind 33 tabellen)? in der detailansicht der tabelle wird irgendwo ein schlüsselwort oder eine zeile mit FOREIGN KEY ... REFERENCES ... geben. das, was nach FOREIGN KEY steht, ist die/sind die fremdschlüsselspalten, das was nach REFERENCES steht, unter anderem die tabelle, in denen du die dateildatensätze suchen und vorher löschen musst, um die referentielle integrität der daten nicht zu verletzen und keine fehlermeldung mehr zu bekommen. siehe auch das kapitel fremdschlüssel im handbuch: http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Invisible Geschrieben 26. Juni 2006 Autor Teilen Geschrieben 26. Juni 2006 vielleicht hilft das bild?! Da steht nämlich nix von wegen keys, references..auch nicht, wenn ich mir die datensätze anzeigen lasse.. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 schau mal unter beziehungsübersicht. welche version von phpmyadmin ist denn das? denn ich hab 2.8.1 (=neueste), und da gibts keine "beziehungsübersicht". allenfalls exportiere das SQL der tabelle, da müssten auch die fremdschlüssel dann drinstehen. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Invisible Geschrieben 29. Juni 2006 Autor Teilen Geschrieben 29. Juni 2006 auch unter diesm punkt kann ich nichts finden... habe im übrigen mysql5.0.18 dachte, vielleicht geht es mit ner sql-abfrage? auf gut deutsch: zeige mir alle tabellen, die bewerberid's beinhalten und deren abhängigkeiten.. ?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.