0

我有一个叫做目标的表,每个目标与其他目标有零到多个因果关系,这些关系我必须存储在数据库中,如果有办法关联这个表记录,请告诉我。

4

1 回答 1

0

在不创建附加表的情况下无法关联记录(您需要在当前表上添加 N-1 列来模拟原因的 N 个可能影响)。

创建一个像下面这样的附加表应该可以满足您的目的。

CREATE TABLE cause_effect (
  cause integer NOT NULL,
  effect integer NOT NULL,
  CONSTRAINT cause_effect_pkey PRIMARY KEY (cause, effect),
  CONSTRAINT cause_effect_cause_fkey FOREIGN KEY (cause)
      REFERENCES yourtable (id),
  CONSTRAINT cause_effect_effect_fkey FOREIGN KEY (effect)
      REFERENCES yourtable (id)
)

应用适用的 FKey 行为。

于 2011-12-08T19:31:48.140 回答