批量删除MSSQL 中主外键约束】的更多相关文章

转自: http://www.maomao365.com/?p=813 在制作 MSSQL同步工具的时候,发现由于主外键的约束,导致数据同步异常,所有我们需要把 读数据库里面的主外键约束,进行批量删除操作. 1 如何批量查询数据库的主外键? 在MSSQL2005以上版本中,系统提供一个系统视图 sys.foreign_keys 可以查询出系统所有的外键约束2 如何批量删除数据库的主外间键? -----------------------------------------------------…
查询: SELECT 主键列ID=b.rkey ,主键列名=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid) ,外键表ID=b.fkeyid ,外键表名称=object_name(b.fkeyid) ,外键列ID=b.fkey ,外键列名=(SELECT name FROM syscolumns WHERE colid=b.fkey AND id=b.fkeyid) ,级联更新=ObjectProperty(a.id…
十年河东,十年河西,莫欺少年穷 本篇主旨是如何物理删除有主外键约束的记录!那么,我们从主外键走起! 下面新建三张有主外键约束的表,分别为:系/学院表,专业班表,学生表,如下: CREATE TABLE Dept--系/学院表 ( DeptId ,) primary key, DeptName ),--系名称 AddTime datetime default(getdate()) ) CREATE TABLE Grade--班级表 ( GradeId ,) primary key, DeptId…
SQL Server中由于外键约束而删除数据失败 原因分析:外键约束问题.在配置文件中配置了一对一的关系,外键也是唯一的.数据库中数据有严格的依赖关系. 而在业务逻辑中,在往数据库里删除数据之前,却忘记了在依赖表中删除数据.导致最后删除数据时违反了表的外键约束条件. 解决方法:在删除表数据时,由于该表主键为另一个表的外键导致数据删除失败.因此将外键的删除规则改为级联方式,在删除该表中数据时自动删除另一表中的数据.…
转: MySQL删除所有表的外键约束.禁用外键约束 2017年10月27日 00:11:34 李阿飞 阅读数:4512   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/junlovejava/article/details/78360253  数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能.在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加可读性,会创建表与表之间的关联关系…
试验环境: 1)数据库版本:oracle 11.2.0.4 2)建表脚本:以scott的dept及emp表为基础. 父表:dept -- Create table create table DEPT ( DEPTNO NUMBER(2) not null, DNAME VARCHAR2(14), LOC VARCHAR2(13) ) -- Create/Recreate primary, unique and foreign key constraints alter table DEPT ad…
其实如果想删除所有表可以直接如下操作: 在navicat中直接选中所有表,然后右键删除表即可,会有提示,一路确定,就会先删掉没有外键的表和字表,只要一路确定,删几批就把表都删完了,并不算太麻烦. 转: MySQL删除所有表的外键约束.禁用外键约束 2017年10月27日 00:11:34 李阿飞 阅读数:4271   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/junlovejava/article/details/78360253  数据库…
  Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构.   解决方法是在Mysql中取消外键约束:  SET FOREIGN_KEY_CHECKS=0;     然后将原来表的数据导出到sql语句,重新创建此表后,再把数据使用sql导入,   然后再设置外键约束: SET FOREIGN_KEY_CHECKS=1;  …
[标准SQL的外键约束条件] 1): 子表引用父表的主键 drop table if exists child,parent; create table if not exists parent( id int not null auto_increment primary key, v int ); create table if not exists child( id int not null auto_increment primary key, parent_id int not nu…
SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束.…
在SQLServer中主外键是什么,以及主外键如何创建,在这里就不说了,不懂的可以点击这里,这篇文章也是博客园的博友写的,我觉得总结的很好: 此篇文章主要介绍通过SQL脚本来查看Sqlserver中主外键关系: SELECT f.name AS '关系名称', OBJECT_NAME(f.parent_object_id) AS '表名称', COL_NAME(fc.parent_object_id,fc.parent_column_id) AS '字段名称', OBJECT_NAME (f.r…
一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系用的.所以说,如果谈到了外键,一定是至少涉及到两张表.例如下面这两张表: 上面有两张表:部门表(dept).员工表(emp).Id=Dept_id,而Dept_id就是员工表中的外键:因为员工表中的员工需要知道自己属于哪个部门,就可以通过外键Dep…
添加主键约束: ALTER TABLE GA_AIRLINE ADD CONSTRAINT PK_AIRLINE_ID PRIMARY KEY(AIRLINE_ID); 有三种形式的外键约束: 1.普通外键约束(如果存在子表引用父表主键,则无法删除父表记录) 2.级联外键约束(可删除存在引用的父表记录,而且同时把所有有引用的子表记录也删除) 3.置空外键约束(可删除存在引用的父表记录,同时将子表中引用该父表主键的外键字段自动设为NULL,但该字段应允许空值) 这三种外键约束的建立语法如下: 例如…
http://my.oschina.net/liting/blog/356150 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系用的.所以说,如果谈到了外键,一定是至少涉及到两张表.例如下面这两张表: 上面有两张表:部门表(dept).员工表(emp).Id=Dept_id,而Dept_id就…
---添加主键约束   alter table 表名 add constraint 约束名 primary key (主键)          - --添加唯一约束   alter table 表名 add constraint 约束名 unique (字段) ---添加默认约束   alter table 表名 add constraint 约束名 default ('默认内容') for 字段 --添加检查check约束,要求字段只能在1到100之间   alter table 表名 add…
select a.constraint_name, a.table_name, b.constraint_name from user_constraints a, user_constraints b where a.constraint_type = 'R'  and b.constraint_type = 'P'  and a.r_constraint_name = b.constraint_name -- P 代表主键, R 代表外键 查询某一张表的约束: select constrai…
在MySQL中删除一张表或一条数据的时候,出现有外键约束的问题,于是就去查了下方法: SELECT @@FOREIGN_KEY_CHECKS; 查询当前外键约束是否打开 ; 设置为1的时候外键约束是打开的,设置为0的时候外键约束是关闭的; 删除数据的时候如果想把id序列也清空到1开始可以: truncate table 表名; truncate table category; 如果不需要清空序列直接删除就好了.…
引用:http://blog.sina.com.cn/s/blog_53729e4601011wja.html MySql外键设置详解   (1) 外键的使用: 外键的作用,主要有两个:    一个是让数据库自己通过外键来保证数据的完整性和一致性    一个就是能够增加ER图的可读性    有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库有时候会由于没有通过外键的检测而使得开发人员删除,插入操作失败.他们觉得这样很麻烦其实这正式外键在强制你保证数据的完整性和一致性.这是好事儿.…
create table命令 create table dept ( dept_id int primary key, dept_name ) not null, dept_address ) ) creat table emp ( emp_id int constraint pk_emp_id_a primary key, --主键约束 emp_name ) not null, emp_sex ), dept_id int constraint fk_dept_id_b foreign key…
先禁用数据库的外键约束: set foreign_key_checks=0; 进行删除操作 delete.drop.truncate 恢复数据库外键约束: set foreign_key_checks=1;…
alter table 表名 add constraint 外键约束名 foreign key(列名) references 引用外键表(列名)…
1.外键的作用,主要有两个:     一个是让数据库自己通过外键来保证数据的完整性和一致性     一个就是能够增加ER图的可读性 2.外键的配置 1)先创建一个主表,代码如下: #创建表student,并添加各种约束 create table student ( id int primary key , #主键约束 name varchar(20) , #唯一约束 age int NOT NULL, #非空约束 sex varchar(2) , address varchar(20) defa…
在er图也就是数据库中,无论是mysql/oracle都是从表引用主表的pk作为外键. 而在uml类图表示法中,他们的顺序则刚好相反,从主对象导向到子对象,如下: 主体是资金借款方,征信信息和资金借款合同在此上下文中依附于资金借款方,不能作为主体单独存在.…
-创建一个student表,设定表的主键为学号CREATE TABLE student( sno VARCHAR2(10) PRIMARY KEY, --列级约束 sno VARCHAR2(20) CONSTRAINT sno_pk PRIMARY KEY, --有约束名的列级约束 sname VARCHAR2(10) DEFAULT '张三', ssex VARCHAR2(1), sbirthday DATE, saddress VARCHAR2(50), --创建表级约束 CONSTRAIN…
--1.禁用约束 ALTER TABLE abppmgr.MST_ITEMMASTER disable CONSTRAINT C0248833319_7676; --2.删除数据 truncate table  abppmgr.MST_ITEMMASTER --3.恢复约束 ALTER TABLE abppmgr.MST_ITEMMASTER enable CONSTRAINT C0248833319_7676; abppmgr.MST_ENTERPRISEMASTER 这张表的数据不能删除…
选择Database—>Edit Current DBMS选择Scripts->Objects->Reference->ConstName可以发现右侧的Value为: FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT% 可见,该命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根据这中模式自定义为: FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT% 但是注意:oracle中约束.表名.字段名都不能超过…
DECLARE @ESQL VARCHAR(1000);DECLARE FCursor CURSOR --定义游标FOR (SELECT  'ALTER TABLE '+O.name+' DROP  CONSTRAINT '+F.name+';'  AS  CommandSQL  from   SYS.FOREIGN_KEYS  F    JOIN  SYS.ALL_OBJECTS  O  ON F.PARENT_OBJECT_ID = O.OBJECT_ID WHERE O.TYPE = 'U…
)) begin exec(@c1) fetch next from c1 into @c1 endclose c1deallocate c1…
OS:  centos 6.3 DB:5.5.14 mysql> select database();+------------+| database() |+------------+| sakila     |+------------+1 row in set (0.00 sec) mysql> delete from actor;ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constra…