UPDATE nur auf Einträge anwenden die durch SELECT gefunden wurden

ni_kl

Neuer Benutzer
Beiträge
2
Wieso wird die untere Zeile dieses Codes auf alle Einträge angewandt und nicht nur auf die die durch die obere Zeile selektiert wurden?

Code:
SELECT value FROM catalog_product_entity_varchar WHERE attribute_id=1 and value="Yes"
UPDATE catalog_product_entity_varchar SET value = "No" WHERE attribute_id=2
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.423
Wieso wird die untere Zeile dieses Codes auf alle Einträge angewandt und nicht nur auf die die durch die obere Zeile selektiert wurden?

Code:
SELECT value FROM catalog_product_entity_varchar WHERE attribute_id=1 and value="Yes"
UPDATE catalog_product_entity_varchar SET value = "No" WHERE attribute_id=2

Warum schecken Äpfel anders als Birnen? Weil es unterschiedliches Obst ist. Auf Deine Frage bezogen: Du hast ein SELECT-Statement und unabhängig davon ein UPDATE-Statement.
Was exakt erwartest Du? Sollte das Update irgendwie Mitgefühl für das Select haben?
 

ni_kl

Neuer Benutzer
Beiträge
2
Naja ich wähle zuerst per select und lasse auf die Auswahl update laufen - so hatte ich zumindest gehofft, dass es funktionieren würde. Ist etwas vergleichbares nicht umsetzbar?
Danke!
 
Werbung:

Margit

Fleissiger Benutzer
Teammitglied
Beiträge
56
Du kannst an das UPDATE auch ein WHERE anhängen - aber das weisst du ja schon.

Du musst dich bei SQL von der Vorstellung lösen, dass zwei unterschiedliche Befehle etwas voneinander wissen. Jeder Befehl wird für sich ausgewertet, es besteht kein Zusammenhang und es wird auch nichts verknüpft.

Und eure beiden vorherigen Beiträge hab ich gelöscht - geht es mal etwas ruhiger an :)
 
Oben