sql更新某字段为同表另一字段值

同一个表根据a字段,更新b字段。例如拼接字符串。

UPDATE test
SET b1=CONCAT(a1,' ',DATE_FORMAT(NOW(),'%H:%i:%s'))

根据一个表的字段更新另一个表的字段

写法轻松,更新效率高

update table1 
set field1=table2.field1,
field2=table2.field2
from table2
where table1.id=table2.id

常规方式,种写法相当于一个 Left join, 以外面的where为更新条数,如果不加where就是所有记录

update table1
set field1=(select top 1 field1 from table2 where table2.id=table1.id)
where table1.id in (condition)