如何使用案例按id更新行



是否可以通过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

最新更新