如何在PostgresQL中创建循环外键依赖项?

时间:2012-11-16 08:47:07

标签: sql postgresql

我一直在研究PostgreSQL,我遇到了这个问题:

有人能引导我怎么做吗?感谢

1 个答案:

答案 0 :(得分:5)

从你的问题不清楚,但我猜你无法弄清楚如何创建循环依赖以便测试它。我不会给你确切的命令,因为这看起来像是家庭作业而你没有努力解决你的问题,但这里有一个暗示:

  • 创建first_table,确保包含主键
  • 创建second_table,确保包含主键和另一列,这是对first_table主键列的外键引用。
  • 现在ALTER TABLE first_table,添加一个新列,该列是second_table主键列的外键引用。

现在,在其中一行中插入一行,或尝试。

我强烈建议您阅读手册:

请注意,可以通过创建一个或两个外键约束DEFERRED来实际在两个表中的行之间创建有效的循环依赖关系。见SET CONSTRAINTS。当您希望创建强制1:n关系时,这非常有用,其中至少必须存在一个n