Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mysql update values

Tags:

mysql

I'm using two tables in the database. The first table looks like this:

   id    |   msg_id   |     user   |   date   
-------------------------------------------------
   01    |    122     |    user 1  | 2011-04-01
   02    |    453     |    user 2  | 2011-04-03
   03    |    124     |    user 3  | 2011-04-05

And the second table looks like this:

       id    |   msg_id   |     status   | 
   ----------------------------------------
       01    |      0     |       1      | 
       02    |      0     |       1      | 
       03    |     124    |       1      | 

I want to update all the rows with the "0" value ("msg_id" column) in the second table based on msg_id records from the first table. Is it possible to do it with a single query?

The result should look like:

       id    |   msg_id   |     status   | 
   ----------------------------------------
       01    |    122     |       1      | 
       02    |    453     |       1      | 
       03    |    124     |       1      | 
like image 849
Sergio Avatar asked Nov 15 '22 00:11

Sergio


1 Answers

UPDATE table1 AS t1, table2 AS t2
SET t2.msg_id=t1.msg_id
WHERE t1.id = t2.id and t2.msg_id = 0;
like image 154
Senthil Avatar answered Dec 19 '22 11:12

Senthil