mysql更新字段值为查询结果(INNERJOIN)
mysql下载appupdate ⼀个数据表字段为另⼀个数据表查询的值,⼀般使⽤inner join 查询要更新的结果;下⾯看例⼦:
我要更新task_info表中的字段task_time的值为其对应的alarm_record表中的out_time的值;现在先查询⼀下task_info中其时间不等的情况:
SELECT a.task_id,a.task_time, b.out_time
FROM task_info a, alarm_record b
WHERE a.app_id=b.app_id
AND a.user_id=11
AND a.task_title='漏费补⼊报警'
AND a.user_id=b.user_id
AND a.task_time!= b.out_time
然后,更新语句如下(数据量过⼤建议分批处理或使⽤存储过程处理):
UPDATE task_info a INNER JOIN (SELECT b.app_id,b.out_time,b.user_id FROM alarm_record b) c
ON a.app_id=c.app_id
AND a.user_id=11
AND a.task_title='漏费补⼊报警'
AND a.user_id=c.user_id
AND a.task_time!= c.out_time
SET a.task_time=c.out_time
更新完毕...
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论