SQL Server Foreign Key Constratints

Foreign
Key约束,用于引用完整性,是为着将外键字段值限制为被引述字段中现有的值。

那种约束关系到八个表也可以是同3个表,被引用表(Referenced
table)中的定段一定是主键或唯一约束,不存在NULL,可是外键字段是同意NULL值的。

为了演示,找出原先二个例证,http://www.cnblogs.com/insus/articles/1918840.html其次个表,照代码执行,没有做出Foreign
key的约束,因为只是做了验证,参考上边例子,执行代码暴发的表,才是的确形成Foreign
key的羁绊。

图片 1图片 2代码

–创设其余2个表[SubTopic],其中有一字段是表[Topic]的主键,即是Foreign key
CREATE TABLE dbo.SubTopic
(
    SubTopicId INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
    TopicId INT FOREIGN KEY REFERENCES dbo.Topic([TopicId]) ,–外键 reference table dbo.Topic primary key
    Author NVARCHAR(50) NOT NULL,
    Content NVARCHAR(4000) NOT NULL    
)
GO

  

实质上无须再一次创制这几个表,直接修改那一个表即可:

ALTER TABLE [dbo].[SubTopic]  
ADD CONSTRAINT [FK_SubTopic_Topic]
FOREIGN KEY([TopicId])
REFERENCES [dbo].[Topic] ([TopicId])

  

末尾索要提及的,如果想把这一个外键删除,能够选用下边SQL语句来兑现:

ALTER TABLE [dbo].[SubTopic]  
DROP CONSTRAINT [FK_SubTopic_Topic]

 

 

相关文章