【问题标题】:Postgres unique index for a date on a date time field日期时间字段上日期的 Postgres 唯一索引
【发布时间】:2016-10-18 13:01:37
【问题描述】:

我有一个表event_logs 有两列我想为其创建索引。问题是其中一列是日期时间字段,它适用于我们使用它的 99% 的事情,因为它存储给定事件的日期和时间。

但是我想创建一个唯一索引,这样就不可能在同一日期(不是日期时间,而只是日期)与同一个人创建两个事件。

  • quiz_master_id(整数)
  • start_at(日期时间)

是否甚至可以考虑为给定日期而不是日期时间创建这样一个唯一索引?或者在 Postgres 中是否有另一种类似的方法来处理这个问题?

【问题讨论】:

    标签: sql postgresql datetime postgresql-9.4 unique-index


    【解决方案1】:

    是的,你只需要一个表达式的索引:

    create unique index idx_eventlogs_startatdate
        on event_logs(date_trunc('day', start_at))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-20
      • 1970-01-01
      • 2019-11-05
      • 2015-06-16
      • 2014-12-31
      • 2014-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多