gpt4 book ai didi

php - 使用 MySQL CASE 更新 1000 行

转载 作者:行者123 更新时间:2023-11-29 08:22:26 28 4
gpt4 key购买 nike

我有一个跟踪客户使用情况的表格,这是一个包含id列和voice_activity列的简化结构。 id 是索引,voice_activity 需要一个 MM-DD-YYYY 格式的日期,表示上次显示使用情况的时间。

我需要处理大型日志文件(CSV 最多 200k 行),该文件工作正常,问题是有效更新 activity 字段。目前它只需构建一个查询即可工作,例如:

UPDATE users SET voice_activity = '09-24-2013' WHERE id = 1 OR id = 2 OR id = 3

etc 等等。如果日志文件按时间顺序添加,则效果很好。如果前一天的日志文件添加到最近的日志文件之后,SQL 查询将覆盖最近的日期。因此,查询需要考虑字段 voice_activity 是否大于我们要插入的日期,如果是,则不必打扰。

我知道这应该可以通过 CASE 实现,但无法理解语法。如果这种方式不可能,还有什么其他有效的方法来更新这个表?我不希望在循环中进行 SQL 更新,因为那样会融化。

最佳答案

如果我正确理解您的问题,您可以使用以下内容:仅当新日期大于当前值时,这才会更新 voice_activity 列。

另请注意 IN 的使用避免过多的 OR

UPDATE users SET voice_activity = '09-24-2013' WHERE id IN (1, 2, 3) and voice_activity<'09-24-2013'

关于php - 使用 MySQL CASE 更新 1000 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18981830/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com