SQL UPDATE - mehrmals WHERE nutzen?

suntrop

Erfahrenes Mitglied
Hi,

ich möchte in einer Tabelle mehrere Zeilen aktualisieren. Dazu habe ich folgendes Konstrukt erstellt.

PHP:
$sqlUpdate = 'UPDATE cma SET is_exported = "1" WHERE uid=""';
while ($d = mysql_fetch_assoc($res))
{
	$sqlUpdate .= ' AND uid="'.$d['id'].'"';
}

Leider funktioniert es nicht. Ich weiß nicht, ob es daran liegt, dass die erste uid leer ist oder, ob man nicht mehr als eine WHERE-Bedingung in ein UPDATE einbauen darf.
Das erzeugte SQL-Statement sieht z.B. so aus:
Code:
UPDATE cma SET is_exported = "1" WHERE uid="" AND uid="563" AND uid="582"

Woran liegt es, dass die Daten nicht aktualisiert werden?


Grüße
suntrop
 
Hi

Hmm, du willst da updaten wo uid leer ist und gleichzeitig dem Wert von $d['id'] entspricht?
Du solltest eher 'OR' statt 'AND' verwenden.
 
Danke euch beiden. MIt OR funktioniert es.

Hi

Hmm, du willst da updaten wo uid leer ist und gleichzeitig dem Wert von $d['id'] entspricht?
Du solltest eher 'OR' statt 'AND' verwenden.

Ich hatte das so verstanden:
Update überall da wo die uid leer ist, und/zusätzlich da wo die uid=xxx ist , und etc.

Das AND hatte ich auf UPDATE statt die Felder bezogen, falls man das so sagt.

Aber klar, jetzt leuchtet mir ein, weshalb hier ein OR stehen muss.


Grüße
suntrop
 
Zurück