昵称是**博主级**的属性,而作品是逐条刷的:一个博主只有落在采集窗口里的那几条会被 重刷,掉出窗口的老作品会一直留着旧名字。于是改名之后库里一半新一半旧 —— * 作品栏组头取的是该博主名下作品的 max(name),**恰好可能取到旧的那个**(比如从 「BBB」改成「AAA」,max 还是 BBB); * 导出和 SQL 直接看到旧名字。 两处修: 1. ingest 收完这一轮之后,把这一轮看到的 (博主, 昵称) 铺到该博主在本任务下的 **全部**作品上。带上 `!= name` 让没变化的不产生写入。只限本任务 —— 另一个任务里 的同一个人是另一条跟踪线。 2. `list_creators` 的昵称**优先取账号快照**:那一行每次采集都从资料接口重写,是 最新的一份;小红书那条路没有快照,才退回作品上的名字。 顺带把两份 SQL 里的 COALESCE 顺序调成一致(不然查出来还是旧名字)。
在真库上跑通过(42 个账号)。5.7 没有窗口函数,所以「每个博主最新那条」用相关子 查询挑;账号清单取「作品里出现过的 ∪ 有账号资料的」,否则那些没有作品的号会整行 消失。查询文件里写了这两条的原因,免得下次有人顺手改成 ROW_NUMBER()。