说实话,当我第一次接触到该语句时,我当时是震惊的,MYSQL竟然有这个语法。
我当时的需求就是:从表A中查询出所有记录来,然后根据记录ID来更新表B,如果用java代码的话,那就只能是for循环遍历List了。
update querylog log inner join querylog_xxx xxx
on log.msgid = xxx.msgid
set log.status = xxx.status;
这个SQL语句的含义是:通过msgid来关联记录,然后用xxx表的status字段来更新log表的status字段;