Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SQL update in one statement instead of two

Tags:

sql

postgresql

Is it possible to do the following in 1 statement instead of 2. I need to set the isActive flag for one id and set all the others to false. Im using postgres DB.

tblNames 
------------------------
id,name,isActive
1,'n1',true
2,'n2',false
3,'n3',false
4,'n4',false

update tblnames
set isActive = true 
where id = 4

update tblnames
set isActive = false 
where id != 4
like image 949
ender Avatar asked Aug 09 '26 18:08

ender


1 Answers

Does that work?

update tblnames
set isActive = (id = 4)

In case it doesn't (I don't know Postgres syntax well enough), this will surely work:

update tblnames
set isActive case id when 4 then true else false end
like image 165
Lukas Eder Avatar answered Aug 12 '26 11:08

Lukas Eder



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!