关联更新
先说方法
update table1
join table2 on table1.关联字段=table2.关联字段
set table1.要改变的字段=table2.对应的字段
这个table2经常是一张表的聚合后的查询结果
应用场景
项目中经常会有多张表的各种关联,一对多,多对多等关系很多,导致查询一张表格的东西要关联很多表,速度很慢;
这时候考虑添加一个冗余字段,减少查询时表的关联;但是已经有的数据,需要更新一下,一个个更新肯定要累死,所以这时候就需要批量关联更新
举个栗子
有两张表:
dept:
CREATE TABLE `dept` (
`dept_id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`emp_count` int(11) DEFAULT NULL,
PRIMARY KEY