Postgres FK referencing composite PK

前端 未结 2 1706
陌清茗
陌清茗 2021-01-30 16:35

Consider

CREATE TABLE foo (
    id SERIAL,
    foo_created_on ABSTIME,
    foo_deactivated_on ABSTIME,
    PRIMARY KEY (id, foo_created_on)
);

CREATE TABLE bar         


        
2条回答
  •  天涯浪人
    2021-01-30 17:12

    You have to create separate foreign keys:

    CREATE TABLE bar (
      id SERIAL,
      bar_created_on ABSTIME,
      bar_deactivated_on ABSTIME,
      foo_id INT,
      FOREIGN KEY (foo_id, created_on) REFERENCES foo (id, created_on),
      PRIMARY KEY (id, bar_created_on)
    );
    

提交回复
热议问题