欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在同一张表中使用字段 A 去更新字段 B 的思考

程序员文章站 2024-01-22 22:26:52
...

问题描述

一个问题,就是我有一张爬虫表。我发现我的 web 时间字段解析出错了
以至于出现了未来的时间:
在同一张表中使用字段 A 去更新字段 B 的思考
以当前的时间为准,查询出错误的数据大概有这些,均来与同一个数据源 *, 数据源代码 OrgTableCode 为 1034 。
在同一张表中使用字段 A 去更新字段 B 的思考
比较苦恼,因为我可能要重新请求一下错误的页面。

突然我发现我可以从文章的链接中抽取到这个时间,校验了下这个思路没有问题:
在同一张表中使用字段 A 去更新字段 B 的思考
update 一下:
在同一张表中使用字段 A 去更新字段 B 的思考
这样比较好解决了我的问题 。

但是之前我有一个比较麻烦的思路:
大致是这样的:
在同一张表中使用字段 A 去更新字段 B 的思考
最终的 _map 将会是一个 id 和发布时间的映射,类似于:
在同一张表中使用字段 A 去更新字段 B 的思考
这样我的 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 而来。

相关标签: mysql