在同一张表中使用字段 A 去更新字段 B 的思考
程序员文章站
2024-01-22 22:26:52
...
问题描述
一个问题,就是我有一张爬虫表。我发现我的 web 时间字段解析出错了
以至于出现了未来的时间:
以当前的时间为准,查询出错误的数据大概有这些,均来与同一个数据源 *, 数据源代码 OrgTableCode 为 1034 。
比较苦恼,因为我可能要重新请求一下错误的页面。
突然我发现我可以从文章的链接中抽取到这个时间,校验了下这个思路没有问题:
update 一下:
这样比较好解决了我的问题 。
但是之前我有一个比较麻烦的思路:
大致是这样的:
最终的 _map 将会是一个 id 和发布时间的映射,类似于:
这样我的 sql 语句 update 要么就要分很多条写;
要么就是用这个 _map 建立一个临时表去连表;
要么就是用条件语句:
UPDATE mytable
SET myfield = CASE other_field
WHEN 1 THEN 'value'
WHEN 2 THEN 'value'
WHEN 3 THEN 'value'
END
WHERE id IN (1,2,3)
其中的 where then 通过拼接 _map 而来。