0

可能重复:
可空外键坏习惯?

我知道外键用于关联或链接不同的表,但我的任务是要求主题的特定条件。

4

3 回答 3

1

当外键是子表中复合主键的一部分时,它不能为空。

表A
id (int) PK

表B
id (int) PK

表AB
aId(整数)
出价(整数)
(aId, bId) PK
于 2013-01-19T17:26:32.017 回答
1

FOREIGN KEY 约束可以包含空值;但是,如果复合 FOREIGN KEY 约束的任何列包含空值,则会跳过对构成 FOREIGN KEY 约束的所有值的验证。要确保验证复合 FOREIGN KEY 约束的所有值,请在所有参与列上指定 NOT NULL。

于 2013-01-19T17:27:04.703 回答
0

一些 ORM 需要 FK 可以为空,因为它们链接实体和管理依赖项的方式。

于 2013-01-19T17:26:07.060 回答