我有一个带有时间戳字段的表,我在该表上创建了一个复合索引。
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')