mysql - 根据时间更新不同的行?

标签 mysql events postgresql time

在 MySQL 或 PostGre 中根据时间更新表的最佳方法是什么?

例如,我有一个包含以下记录的数据库。

ColumnA  StartTime  EndTime
123      02:05:01   02:06:01   
456      02:06:01   02:07:01

是否可以根据 EndTime 列(可能是时间事件)更新两列的值?我尝试使用 cronjobs,但我认为它不适合时间特定的事件(秒),特别是如果数据库有大量行?

最佳答案

可以将东西包裹在盒子中,如果这就是您的意思:

update foo
set ColumnA = case
    when EndTime < now() then 321
    else 654
    end,
    StartTime = case
    ...
    end
where ...

关于mysql - 根据时间更新不同的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6646073/

相关文章:

javascript - Visual Studio 监听器中的 Typescript

php - 删除好友脚本

python - MySQL 中的数字序列

php - 与 MYSQL 和 PHP 事件日历的事件冲突

javascript - 监听 Sencha Touch 上的启用/禁用事件

postgresql - 当列数可能发生变化并且存在重复名称时,将数据自动馈送到 PostgreSQL 表中

PostgreSQL - 表中的下一个序列值

sql - SQL中如何查询任意子关系的 "parent"?

PHP SQL 连接

javascript - 如何使用PHP从mysql中查询图像