mehrere querystrings an mysql oder dann doch lieber schleife?

methodus

Erfahrenes Mitglied
ich liebe diese suchfunktion :rolleyes: sie gibt (n)immer das her was man sucht :p

ich habe jetzt 2/1/2 stunden nach ner vergleichbaren frage sammt antwort gesucht. ich kam irgendwie immer zu was völlig anderem.

und zwar wollte ich 2 Queries an mysql senden, aber halt nicht so:

$query1 = "SELECT blabla";
mysql_query($query1);
$query2 = "SELECT anderesblabla";
mysql_query($query2);

sondern so:

$query = "SELECT blabla;SELECT anderesblabla";

mysql_query($query);

jetzt kommt bestimmt die frage, na warum probiert der dösel das nicht mal aus, dazu meine antwort, leider ist der befehl bei mir nicht SELECT FROM sondern DELETE FROM und ich wollte es noch nicht testen, weil ich die Daten die bereits gespeichert sind nicht ausversehen wahllos löschen will.

geht das oder muss ich doch den längeren umweg gehen?
 
-

PHP:
mysql_query("delete from bla,bla2 where ....");
Subselects gibt es nicht bei mysql
 
Zuletzt bearbeitet:
das hat mir jetzt (überhauptnicht) sehr geholfen *amkpfkratz*

jetzt bin ich genauso schlau wie vorher.

ich brauche keine subselects weil ich ja gar nichts selectiere (siehe letzter absatz von meinem anliegen).

da hat wohl jemand die frage niht richtig durchgelesen =)
 
-

Wer lesen kann, ist klar im Vorteil.

Hab dir doch ein PHP Beispiel hingeschrieben. Das mit den Subselects war nur eine Info für dich.
 
Wer lesen kann, ist klar im Vorteil.

subselects nützen mir aber nichts, denn versuch mal bei

DELETE FROM tabelle WHERE ID = '$ID' noch ne subselect für WHERE relatedID = '$ID' reinzubringen

vielleicht war auch mein beispiel etwas doof gewählt, ich gebs zu, naja um die uhrzeit :rolleyes:
 
-

:-)
Du willst mich veräppeln oder?
Wenn es sich um eine Tabelle handelt, kannst du mehrer where Klauseln mit "and" verbinden.
Ansonsten kannst du bei delete from tabelle1,tabelle2 mehrere Tabellen wählen.
 
meinste, dass der da nicht irgendwas anderes löscht, wenn ich das mit AND verbinde? ich möcht nit riskieren, dass plötzlich meine daten wegsin. gaaaanz sicher dass ich "DELETE FROM tabelle WHERE ID = '$ID' AND relatedID = '$ID'" geht. weil das geht ja eigentlich auch nicht.

also folgender aufbaue der tabelle:

ID tab1 tab2 relatedID

relatedID kann (muss aber nicht) leer sein.

wenn sie nicht leer ist stellt sie eine andere funktion dar als wenn sie leer ist, sprich if(empty($relatedID)) { tue das } else { tue das }

wenn ich das mit and verknüpfe löscht er ja nur die zeile wo ID und relatedID gesetzt sind, ich möchte aber dass die zeile mit der ID löschen und die zeilen wo die relatedID mit der ID stimmen. bei OR habe ich schon zuviele böse überraschungen gehabt und will echt nicht meine daten verlieren

so long
 
naja wenn ich irgendwelche update/delte kommandos ausprobiere mach ich vorher nen sql-dump der tabelle(n). ist zwar auf den ersten blick etwas umständlich aber dafür erhält man seine daten exakt wie vor der manipulation zurück
 
kopiere deine tabelle auf einen anderen namen und teste dann.

das mit dem dump geht nämlich nicht sooo gut, wenn auf die tabelle nahezu ununterbrochen zugegriffen wird und sie dabei geupdated wird.
jede minute nen neuen dump ist auch dumm...^^
außerdem wirds bei 10.000 einträgen das auch etwas dumm...
 
also ich habs mal mir OR versucht, sieht bisher ganz gut aus, hab ne testtabelle gemacht und scheint zu klappen

DELETE FROM tabelle WHERE ID = '$ID' OR relatedID='$ID'

dann löscht er die zeile mit ID und die wo relatedID stimmt

fein
 
Zurück