MySQL - UPDATE query based on SELECT Query MySQL - UPDATE query based on SELECT Query mysql mysql

MySQL - UPDATE query based on SELECT Query


You can actually do this one of two ways:

MySQL update join syntax:

UPDATE tableA aINNER JOIN tableB b ON a.name_a = b.name_bSET validation_check = if(start_dts > end_dts, 'VALID', '')-- where clause can go here

ANSI SQL syntax:

UPDATE tableA SET validation_check =     (SELECT if(start_DTS > end_DTS, 'VALID', '') AS validation_check        FROM tableA        INNER JOIN tableB ON name_A = name_B        WHERE id_A = tableA.id_A)

Pick whichever one seems most natural to you.


UPDATE    `table1` AS `dest`,    (        SELECT            *        FROM            `table2`        WHERE            `id` = x    ) AS `src`SET    `dest`.`col1` = `src`.`col1`WHERE    `dest`.`id` = x;

Hope this works for you.


Easy in MySQL:

UPDATE users AS U1, users AS U2 SET U1.name_one = U2.name_colXWHERE U2.user_id = U1.user_id