我有这个DDL:
CREATE TABLE [dbo].[Test] (
[TestId] VARCHAR (20) NOT NULL,
[Title] NVARCHAR (100) NOT NULL,
[TopicId] INT NOT NULL,
CONSTRAINT [PK_Test] PRIMARY KEY CLUSTERED ([TestId] ASC),
CONSTRAINT [FK_TestTopic] FOREIGN KEY ([TopicId]) REFERENCES [dbo].[Topic] ([TopicId])
);
我希望TopicId的允许值为null或与Topic表中的TopicId匹配的值。
有人可以告诉我如何为此描述外键吗?
答案 0 :(得分:4)
是的,外键约束列可能允许NULLs
。只需更改外键列以允许NULL
值。不检查NULL
值的引用完整性。这是可选(零或多)关系的常见做法。
答案 1 :(得分:0)
嗯..你可以通过让字段允许空来轻松地做到这一点。但是,请记住这一点,“你正在打破数据建模”。