【问题标题】:update boolean postgresql at midnight everyday? [closed]每天午夜更新布尔 postgresql? [关闭]
【发布时间】:2013-12-15 22:14:13
【问题描述】:

我有一个名为“taken”的布尔列,我将如何设置它,以便在每天午夜时将每一列的条目设置为 false?以及如何运行文件?它只是一个每天晚上工作的独立 php 文件吗?

【问题讨论】:

    标签: php database postgresql


    【解决方案1】:

    处理这种情况的典型方法是避免。不要每天运行批处理进行一般更新,这样做成本高,而且没有必要。

    改为将布尔列替换为日期。将其设置为当前日期而不是将布尔值设置为 true,并将其设置为 null 而不是将布尔值设置为 false。

    然后像这样读取值,假设列是date_taken

    SELECT coalesce((date_taken=current_date),false) AS taken, ... FROM tablename;
    
    • 如果date_taken=current_date,则表示今天已经设置,因此返回true。
    • 如果date_taken<>current_date,它已被设置但更早,所以它产生假,好像午夜更新批处理已经运行。
    • 如果date_taken 为null,则它从未被设置或设置为null,coalesce() 产生错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-02
      • 1970-01-01
      • 1970-01-01
      • 2020-07-26
      • 2015-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多