Dirk 0 Report post Posted November 29, 2004 Hallo Zusammen! Ich habe ein Problem. Und zwar möchte ich folgendes löschen: Tabelle A hat zwei Spalten. Erste Spalte ist eine eindeutig fortlaufende Nummer. Spalte B enthält einen Namen der sich wiederholen kann. Nun möchte ich aus dieser Tabelle alle Datensätze löschen die in der zweiten Spalte einen bestimmten Namen enthalten. Soweit noch kein Problem. Nun habe ich aber über die eindeutige Nummer in Tabelle A noch weitere Datensätze in den Tabellen B bis F verknüpft. In den Tabellen B bis F dient die Nummer nur zur Identifizierung und ist nicht mehr eindeutig. Wie kann ich nun die Tabelle A wie oben bereinigen aber auch noch alle Datensätze in den Tabelle B bis F welche die entsprechenden Nummern haben mit löschen? Wäre super wenn mir jemand helfen könnte. Sollte ich das Problem zu verwirrend beschrieben haben, sagt es bitte, mir passiert das schon mal, dann versuche ich es nochmal mit einem Beispiel oder so. Grüße, Dirk Share this post Link to post
Stefan 0 Report post Posted November 29, 2004 Ich habe ein Problem. Ich auch, denn ein großer Teil der Mitglieder versteht nicht, das es sich hier um eine Tutorialkategorie handelt, wo eben diese veröffentlicht werden. Dies bedeutet auch, das hier keine reine Fragethemen reingehören und der arme Admin kämpft anscheinend gegen Windmühlen, da er derjenige ist, der diese fehlgeleiteten Themen immer wieder verschieben muß, ohne eine Besserung des Verhaltens zu sehen. Manchmal glaube ich, das die Buttons um ein neues Thema zu erstellen zu groß und zu verlockend sind, so das man sich gar nicht zurück halten kann und nicht weiter drauf achtet, wo man sich gerade befindet. Sorry, aber ich hatte in einen anderen Thema, was auch heute hier falsch gepostet wurde, angedroht das die nächste Person mit sarkastischen Sätzen bestraft wird. Zu deinem Problem. Ich fände es am einfachsten, wenn man zunächst die entsprechenden IDs aus der Tabelle A ausließt, diese in ein Array speichert und dann die Zeilen aus den Tabellen löscht. Prinzip in etwa so, wobei ich jetzt mal die DB Klasse des Forums benutze. $ids = array(); // Nur Zeilen mit entsprechenden Wert suchen $DB->query("SELECT spalte_a FROM tabelle_a WHERE spalte_b = 'WERT'"); // Alle IDs auslesen und in Array $ids speichern while ($row = $DB->fetch_row()) { $ids[] = $row['spalte_a']; } // Spalten aus den Tabellen löschen $DB->query("DELETE FROM tabelle_a WHERE spalte_a IN (".implode(",", $ids).")"); $DB->query("DELETE FROM tabelle_b WHERE id IN (".implode(",", $ids).")"); $DB->query("DELETE FROM tabelle_c WHERE id IN (".implode(",", $ids).")"); Share this post Link to post
Dirk 0 Report post Posted November 30, 2004 Hallo Stefan, zunächst mal vielen Dank für den Befehl. Tut mir leid, daß ich im falschen Bereich gepostet habe. Ich habe schnell hier reingeschaut und ein Forum gesucht welches MySQL heißt. Da war das falsche das erste, also hinein mit dem Post. Jetzt sehe ich, daß oben schön dick "Tutorials" drübersteht. Werde das nächste Mal etwas aufpassen. Grüße, Dirk Share this post Link to post
Guest GRIZZLY Report post Posted December 18, 2004 naja solange dauerts ja auch nich nen thema mal zu verschieben, oder stefan? Share this post Link to post
Stefan 0 Report post Posted December 18, 2004 naja solange dauerts ja auch nich nen thema mal zu verschieben, oder stefan? Wenn es sich nur mal um ein Thema handelt, sicherlich nicht, aber dies ist in letzter Zeit desöfteren vorgekommen. Des weiteren brauch ich mich für meine Handlungen nicht bei einem Neuling großartig rechtfertigen, vorallem da meine Äußerungen recht humorvoll gedacht waren. Derjenige, der sich darüber höchstens beschweren darf, wäre Dirk, da es ihn betrifft und von seiner Seite kam da nichts in der Hinsicht. Ich seh also nicht den Grund, warum du das Thema hier aufwärmst. Share this post Link to post