Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Update multiple columns for multiple rows in one query of SQL

Tags:

I am trying to set multiple columns for multiple rows in one query, but so far no luck.

Here's how my table looks like

Table: user

enter image description here

I would like to set 'ext_id' on user_id IN (3,4,5) and also like to set ext_flag = Y and admin_role = admin on the same rows.

the resulting table looks like follows enter image description here

My query looks like this, but I am getting erros due to unfamiliarity to SQL syntax.

update user
set ext_flag = 'Y', admin_role = 'admin', ext_id = 
case 
when user_id = 2 then 345
when user_id = 4 then 456
when user_id = 5 then 789
end

I am having hard time in SET syntax with multiple columns.

like image 233
Pankaj Gadge Avatar asked Aug 06 '13 22:08

Pankaj Gadge


1 Answers

try this

 update user
 set ext_flag = 'Y', admin_role = 'admin', ext_id = 
 case 
 when user_id = 2 then 345
 when user_id = 4 then 456
 when user_id = 5 then 789
 end
 **WHERE user_id  in (2,4,5)**
like image 145
echo_Me Avatar answered Nov 01 '22 22:11

echo_Me