我有下表:
CREATE TABLE "MovieFees" (
"Id" serial8 NOT NULL,
"LocalizedMovieId" int8 NOT NULL,
"Fees" int8 NOT NULL CHECK ("Fees" > 0),
"Month" date NOT NULL,
PRIMARY KEY ("Id") ,
CONSTRAINT "LocalizedMovieIdMonthUniq" UNIQUE ("LocalizedMovieId", "Month")
);
这个表存储了一些电影每个月的利润数据。例如,
The Maze Runner|100$|2014-10-01
The Maze Runner|200$|2014-11-02
Lucy|400$|2014-10-02
Lucy|100$|2014-11-03
Lucy|200$|2014-11-07 -- this is a error!
我要,记录(电影名+月份名)是唯一的。但我想存储一个日期,而不是月份的名称或索引。可能吗?
最佳答案
我不确定这是否有效,但我会尝试:
CREATE UNIQUE INDEX unique_month on MovieFees (date_trunc('month', Month))
关于postgresql - 存储月份的数据类型或约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26127912/