可能重复:
可空外键坏习惯?
我知道外键用于关联或链接不同的表,但我的任务是要求主题的特定条件。
当外键是子表中复合主键的一部分时,它不能为空。
表A id (int) PK 表B id (int) PK 表AB aId(整数) 出价(整数) (aId, bId) PK
FOREIGN KEY 约束可以包含空值;但是,如果复合 FOREIGN KEY 约束的任何列包含空值,则会跳过对构成 FOREIGN KEY 约束的所有值的验证。要确保验证复合 FOREIGN KEY 约束的所有值,请在所有参与列上指定 NOT NULL。
一些 ORM 需要 FK 可以为空,因为它们链接实体和管理依赖项的方式。