【发布时间】:2012-08-22 20:03:42
【问题描述】:
我有一个带有时间戳字段的表,我在该表上创建了一个复合索引。
CREATE INDEX "IDX_NAME_A" ON TABLE "A" (a_id, extract(year FROM created_at))
我有另一个存储年份和 a_id 的表,我希望有一个外键关系。
我似乎找不到做我想做的事的语法。
ALTER TABLE "B"
ADD FOREIGN KEY(a_id, a_year)
REFERENCES A(a_id, extract(YEAR FROM created_at));
产生:
ERROR: syntax error at or near "("
我也试过了……
ALTER TABLE "B"
ADD FOREIGN KEY(a_id, a_year)
USING INDEX "IDX_NAME_A";
有什么想法吗?
Table A
--------
a_id serial,
created_at timestamp default now()
Table B
-------
b_id serial
a_id integer not null,
a_year date_part('year')
【问题讨论】:
-
给
Table A添加一个年份列怎么样?
标签: sql postgresql indexing foreign-keys