Apo*_*sis 4 sql-server-2008 foreign-key database-design sql-server
我有两个表之间的关系。外键表可以在主表中有一行相关。有没有办法将 FK 列的值强制为 NULL 或主表中 PK 列的值之一?
是的,您可以允许外键列为 NULL,使其成为可选关系。
CREATE TABLE dbo.foo(fooid INT PRIMARY KEY);
CREATE TABLE dbo.bar(barid INT PRIMARY KEY,
fooid INT NULL FOREIGN KEY REFERENCES dbo.foo(fooid));
INSERT dbo.foo SELECT 1;
INSERT dbo.bar SELECT 1,1;
INSERT dbo.bar SELECT 2,NULL; -- succeeds
GO
INSERT dbo.bar SELECT 3,2; -- fails
Run Code Online (Sandbox Code Playgroud)
如果这不是您的意思,请详细说明或重新表述您的问题。
| 归档时间: |
|
| 查看次数: |
7565 次 |
| 最近记录: |