删除、更新具有外间约束的数据

在数据库使用过程中,不可避免的会遇到需要删除具有外键约束的数据这样的情况,通常有两种做法:

1.删除外键表,再删除主键表
2.给外键都加上级联现在主要介绍使用级联删除、更新约束数据。级联的意思,就是在删除、更新主键表数据时,同时删除、更新外键数据。操作方法:外键后添加:on update cascade(更新级联)On delete cascade(删除级联)例:sql server2008 添加级联:1.打开数据库,右键表名-->设计

2.右键外键字段,点击“关系”,打开“外键关系”窗口

3.完成级联
时间: 2024-08-15 09:31:57

删除、更新具有外间约束的数据的相关文章

C# 如何物理删除有主外键约束的记录?存储过程实现

十年河东,十年河西,莫欺少年穷 本篇主旨是如何物理删除有主外键约束的记录!那么,我们从主外键走起! 下面新建三张有主外键约束的表,分别为:系/学院表,专业班表,学生表,如下: CREATE TABLE Dept--系/学院表 ( DeptId int identity(1,1) primary key, DeptName nvarchar(50),--系名称 AddTime datetime default(getdate()) ) CREATE TABLE Grade--班级表 ( Grade

sql数据库删除表的外键约束(INSERT 语句与 FOREIGN KEY 约束"XXX"冲突。该冲突发生于数据库"XXX",表"XXX", column 'XXX)

使用如下SQL语句查询出表中外键约束名称: 1 select name 2 from sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id 3 where f.parent_object_id=object_id('表名') 执行如下SQL语句删除即可. 1 alter table 表名 drop constraint 外键约束名 sql数据库删除表的外键约束(INSERT 语句与 F

sql server解决无法删除修改拥有外键约束的表或表的记录字段

sql server解决无法删除修改拥有外键约束的表或表的记录字段 问题如下: or 解决步骤: 1.找出该表的所有外键约束 select * from sys.foreign_keys where referenced_object_id=object_id('订单') order by 1 2.删除所有外键约束(注意外键的名字和表的名字分别是哪个!) alter table 订货项目 drop constraint FK__订货项目__订单编号__412EB0B6; 到这就可以把表删掉了~

如何删除有外键约束的数据

SQLServer 2012 表TableA与TbaleB有外键约束,约束列名为TbaleB的iTableAID列,删除的时候会提示 DELETE  dbo.TableA 消息 547,级别 16,状态 0,第 1 行 DELETE 语句与 REFERENCE 约束"FK_TbaleB_TableA_iTableAID"冲突.该冲突发生于数据库"TEST",表"dbo.TbaleB", column 'iTableAID'. 语句已终止. 此时需

处理有外键约束的数据

mysql SET FOREIGN_KEY_CHECKS = 0;    delete from  approval_info;delete from approval_manage;delete from site_message;delete from works;delete from works_theme;SET FOREIGN_KEY_CHECKS = 1; oracle drop tablename no CONSTRAINT 还有一个本办法就是 一个一个的找到主键然后外键约束,然

在Oracle中删除所有强制性外键约束

--查询用户所有表的外键,owner条件为userselect * from user_constraints c where c.constraint_type = 'R' and c.owner = 'A'; --删除用户所有表的外键,owner条件为user select 'alter table '||t.table_name||' drop constraint '||t.constraint_name||';' from user_constraints t where t.cons

牛腩新闻发布系统---外键约束下如何删除记录

一.为什么使用外键? 查了些资料,八个字"保持完整性.一致性",结合我之前做的重构机房收费系统,我的理解是"防止相关表中数据没有关联而变得孤立,最终导致数据冗余",得出这个结论是上次让贾丽敏帮忙点系统时候我最深刻的感受,因为我的数据库关系图中辣么多张表却没有丝毫关系-- 既然官方解释是"完整性和一致性",就先来说明一下: 对于完整性和一致性,不少人都混为一谈了. 完整性(integrity)更多是针对实际业务来说的,比如说一个职员ID,不能在一个

循环删除外键约束

SQL删除,有外键约束常常不能删除,需要先删除外键 --/***********PowerBy:rovedog ***************/ --/第1步**********删除所有表的外键约束*************************/ DECLARE c1 CURSOR FOR SELECT 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; ' FROM sysobjects WHE

SQL_建立外键约束

--外键与和它相对应的主键可以属性名不同,但是数据类型和长度必须一致 --外键约束中约束表中德约束字段必须是主键或者候选键,即必须有唯一性 alter table students --指定修改的表 add constraint fk_ClassName -- 添加约束的名称 foreign key(ClassName) --指定students表建立外键的字段 references teachers (Greade) --指定外间约束表的名称以及字段 --在创建表是创建外键约束 --单字段说明