DELETE
CASCADE和ON
DELETE
SET
NULL两个命令主要在外键改foreign
key约束中使用,主要区别体现在对数据的影响上。
其中ON
DELETE
CASCADE的功能是在主数据删除的时候,从属数据一并删除,常用于强耦合关系中。
而ON
DELETE
SET
NULL的功能是在主数据删除的时候,从属数据不会删除,只是将从属数据的关联属性字段设置成NULL,从而变为无主待关联数据,这个常用于弱耦合关系中。
主键和外键是两种类型的约束,可用于强制表中的数据完整性。
这些是重要的数据库对象。
外键
(FK)
是用于在两个表中的数据之间建立和加强链接的一列或多列的组合,可控制可在外键表中存储的数据。
在外键引用中,当包含一个表的主键值的一个或多个列被另一个表中的一个或多个列引用时,就在这两个表之间创建了链接。
这个列就成为第二个表的外键
1.首先,我们使用SQLSERVER2008打开需要删除外键约束的表,点击左侧的“dbo”通道项,选择“setclick”。
2.问题后,我们鼠标左键单击页面上的“删除主键”选项。
3.然后左键点击“是”在d出页面中删除。
注意事项:
可以双击键约束来添加外键约束,它有四个不同的选项:CASCADE、SETNULL、NOACTION、restricted。
1.级联:删除或更新父表中相应的行,并自动删除或更新表中匹配的行。[在删除CANSCADE和更新CANSCADE都支持InnoDB。
2.SETNULL:删除或更新父表中对应的行,并将子表中的外键列设置为空。注意,这些外键列没有设置为NOTNULL。InnoDB支持删除集空值和更新集空值。
3.无 *** 作:InnoDB拒绝删除或更新父表。
4.限制:拒绝删除或更新父表。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)