gpt4 book ai didi

sql - 如何创建两个相互具有外键约束的 SQL 表?

转载 作者:行者123 更新时间:2023-12-05 00:38:36 25 4
gpt4 key购买 nike

我有两个表,比如表 A 和表 B。

我希望 A 和 B 之间存在 1-* 关系,因此对于每个 A,都有一个特定的 B,并且可能有多个其他 B。

所以我有这样的表:

Table A
AKey INT IDENTITY PRIMARY KEY,
PrerequisiteKey INT FOREIGN KEY REFERENCES B(BKey)

Table B
BKey INT IDENTITY PRIMARY KEY,
RelationalAKey INT FOREIGN KEY REFERENCES A(AKey)

我希望每个 A 总是有 1 B。我应该尝试这样做(上面)还是应该以编程方式决定 B 中带有 A 键 = 的第一个条目是“先决条件”B?

我希望能够将该 PrerequisiteKey 存储为单独的字段,但 SQL 不允许我以这种方式定义表,因为在创建约束之前,两个表都需要存在。

编辑:或者,在创建表之后添加第一个约束是答案吗?

最佳答案

在这些情况下,您通常创建表,然后添加约束。创建后使用 ALTER TABLE 语法更改 FK。

ALTER TABLE A 
ADD CONSTRAINT aref FOREIGN KEY PrerequisiteKey REFERENCES B(BKey);

关于sql - 如何创建两个相互具有外键约束的 SQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5435743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com