假设我有类似的东西
CREATE TABLE Foo (
id INT NOT NULL PRIMARY KEY IDENTITY(1,1),
.
.
.
);
CREATE TABLE Bar (
.
.
foo_id INT REFERENCES Foo(id),
.
.
);
我应该/我应该有
foo_id INT NOT NULL REFERENCES Foo(id)
还是隐含在它所引用的值保证为 NOT NULL
的事实中?
最佳答案
Bar
上的外键列可以是 NULL
,如果 Bar
记录可能存在而没有该值。
the fact that the value it's referencing is guaranteed to be NOT NULL
如果 Bar
中的值是 NULL
那么它根本没有引用 Foo
中的记录。它可以引用一条记录,但如果它允许NULL
则不必这样做。
关于sql - 如果主键不是 NULL,那么引用它的外键是否也应该指定为 NOT NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35118300/