2016-09-12 3 views

Antwort

1

Verwenden Sie einfach die richtige where Klausel:

UPDATE members 
    SET age = 18 
WHERE nick IN ('John', 'Stuart') 

Ich vermute, dass age eine ganze Zahl ist. Ich sollte auch darauf hinweisen, dass das Speichern von "Alter" in einer Datenbank sehr ungewöhnlich ist - weil es eine schlechte Idee ist. Jeden Tag ändert sich das Alter der Menschen.

EDIT:

UPDATE members 
    SET age = (CASE WHEN nick = 'John' THEN 18 ELSE age END), 
     height = (CASE WHEN nick = 'Stuart' THEN 180 ELSE height END) 
WHERE nick IN ('John', 'Stuart') 

ich wirklich das Problem, wie die Aktualisierung nur das Alter lesen. Dazu kann man eine case-Anweisung verwenden:

+0

Ich dachte zuerst daran, aber es scheint, er will das Alter für John und Höhe für Stuart ändern – e4c5

+0

Korrigieren Sie mich, wenn ich falsch liege, aber das nur aktualisiert Alter? Auch nein, es ist nicht Alter, ich habe nur für die Frage vereinfacht, eigentlich sind sie normale Textwerte. – user3304007

+1

@ user3304007. . . Du hast recht. Ich habe die ursprüngliche Frage wirklich gelesen und dachte, dass beide Abfragen das Alter aktualisieren, aber das scheint meinerseits falsch gelesen zu haben. –

Verwandte Themen