Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Postgres日期时间字段中日期的唯一索引_Sql_Postgresql_Datetime_Postgresql 9.4_Unique Index - Fatal编程技术网

Sql Postgres日期时间字段中日期的唯一索引

Sql Postgres日期时间字段中日期的唯一索引,sql,postgresql,datetime,postgresql-9.4,unique-index,Sql,Postgresql,Datetime,Postgresql 9.4,Unique Index,我有一个表event\u logs,其中有两列我想要创建索引的感兴趣的内容。问题是其中一列是datetime字段,这对于我们使用它的99%的事情来说都很好,因为它存储给定事件的日期和时间 然而,我想创建一个唯一的索引,这将使它不可能创建两个事件在同一个日期(不是日期时间,但只是日期)与同一个人 测验\u主机\u id(整数) 开始时间(日期时间) 甚至有可能为给定的日期而不是日期时间创建这样一个唯一的索引吗?或者在Postgres中是否有其他类似的方法来处理此问题?是的,您只需要在表达式上建

我有一个表
event\u logs
,其中有两列我想要创建索引的感兴趣的内容。问题是其中一列是datetime字段,这对于我们使用它的99%的事情来说都很好,因为它存储给定事件的日期和时间

然而,我想创建一个唯一的索引,这将使它不可能创建两个事件在同一个日期(不是日期时间,但只是日期)与同一个人

  • 测验\u主机\u id(整数)
  • 开始时间(日期时间)

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

是的,您只需要在表达式上建立索引:

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