今天遇到个问题,原来用脚本编写的数据同步,有个字段映射错了,那就需要修正这部分数据。修正有两种方式。
第一种
修改脚本,然后重新刷数据,因为我们脚本原来就开发的时候就考虑了重复执行的问题,所以会把所有搬迁的数据id记录下来,方便重新执行,把历史脏数据刷新掉
第二种
使用update join语句,直接通过SQL修正数据
举个例子假设现在有两张表,用户信息表的公司名称现在取错了,我们要把数据刷成正确的
第一张表 用户信息表 i_user
userid | 用户Id |
---|---|
company_id | 公司id |
company_name | 公司名称 |
第二张表 公司信息表 i_company
company_id | 公司id |
---|---|
company_name | 公司名称 |
update i_user i
join i_company c on i.company_id = c.company_id
set i.company_name = c.company_name
通过上面这条SQL就可以把公司名称修正过来,他会找到i_user表中company_name 不等于i_company 表中company_name的数据,然后修改过来