Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
Dirk

MySQL Befehl gesucht

Recommended Posts

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

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

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

naja solange dauerts ja auch nich nen thema mal zu verschieben, oder stefan?

Share this post


Link to post

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×