是否可以通过id更新其他行值?
我试着这样但没什么。。
UPDATE era
SET id = CASE
WHEN id = 3 THEN gender = 'Female'--or maybe it is possible to call insert command here? insert into era (gender) values 'female'?
WHEN id = 4 THEN gender = 'Male'
END;
我希望在结果中更改表中的值。。。
如果您想更新列gender
,那么您应该在SET
中使用它,而不是像下面这样的id
:
UPDATE era
SET gender = CASE id
WHEN 3 THEN 'Female'
WHEN 4 THEN 'Male'
END
WHERE id IN (3, 4)
我不知道您的更新有多大,但可以使用from
子句联接中的表,然后将case
语句稍微更改为
update era u
set gender = case
when f.id = 3
then 'Female'
when f.id = 4
then 'Male'
end
from era f
where u.id = f.id