`
eyejava
  • 浏览: 1268182 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

删除带外键约束的数据

    博客分类:
  • DB
阅读更多
今天突然发现客户表里面姓名为空的记录竟然有13万之多,日期几乎都是5月31日进来的,在原始数据文件中又没有这些记录,真不知道怎么产生的,因为这些记录常常导致一个身份证号进来返回的是一条无名的记录,客户举报了N次,都是通过改查询代码来搪塞..看来得把这些垃圾数据彻底删除才能解决问题。
一条delete语句下去,一开始是外间约束错误,然后加上5月31日这个条件就不会了,但是半个小时都能没能删除这些垃圾数据,打开后台的session一看,3条类似select /*all rows*/ count(1) from card...的记录在运行,这个应该是oracle检验有没有发生外键冲突的语句,card,account,score表都和customer表有外键关联,难怪整那么久,account、score表的外键都删除后再次delete,还是慢的无法忍受。最后只好把card表上的外键也删除了,然后瞬间就把13万记录删除了,再在card表上重新建立外键。

这种做法其实有风险,可能导致card表的某些记录关联的customer记录被删除,但是考虑到现在的情况,这个可能性很小。而且让oracle保留外键的前提下去删除,不知道半天能不能做完。
分享到:
评论

相关推荐

    MySQL删除表的时候忽略外键约束的简单实现

    外键约束是关系数据库中确保数据完整性和一致性的重要机制,它不允许在父表(引用其他表的字段的表)中删除那些已被子表引用的行。然而,有时候在开发或测试环境中,我们可能需要快速地删除所有表并重建数据库结构,...

    自动删除所有表,有外键约束的表优先删除

    标题"自动删除所有表,有外键约束的表优先删除"涉及到的是一个数据库操作的场景,通常需要谨慎处理,因为错误的操作可能导致数据丢失或破坏数据库结构。在这个问题中,我们关注的是如何在有外键约束的环境中安全地...

    Oracle定义约束 外键约束

    本文将详细介绍如何在Oracle数据库中使用**外键约束**来确保数据的参照完整性。 #### 二、什么是外键约束 外键约束是一种用于保证两个表之间数据一致性的机制。当两个表存在关联时,通过在外键表(子表)中设置外键...

    sql外键约束

    在SQL(结构化查询语言)中,外键约束是一种重要的关系数据库完整性机制,它用于确保数据的一致性和准确性。外键约束是两个表之间的一种关联,一个表中的外键引用了另一个表的主键,从而建立了两个表之间的联系。...

    数据库表排序,主表子表放置外键约束

    "数据库表排序,主表子表放置外键约束"这一主题涉及到数据库规范化、外键约束、数据导入以及程序化解决方案。下面将详细阐述这些知识点。 首先,**外键约束**是关系数据库中的一种机制,用于确保一个表(子表)中的...

    数据库外键约束方式

    外键约束是数据库中实现参照完整性的重要手段,它能够确保数据的一致性和正确性。外键约束方式有多种,包括级联、置空和禁止三种方式。 级联(Cascade)方式是指当主表中的记录被删除或更新时,从表中的相关记录也...

    MySQL的约束-外键约束

    - **级联操作**:通过设置外键约束为`CASCADE`,可以实现级联删除或更新,这在维护数据一致性时非常有用。 - **ON DELETE 和 ON UPDATE 触发器**:可以指定当被参照记录被删除或更新时,如何处理外键字段。例如,`ON...

    用触发器实现SQLite的外键约束

    为了确保数据的一致性和完整性,开发者可以通过编写触发器来模拟外键约束的行为。触发器是一种特殊类型的存储过程,它可以在特定事件(如插入、更新或删除)发生时自动执行。下面将详细介绍如何通过触发器来实现...

    数据一致性守护者:MySQL外键约束深度解析

    1. **数据一致性**:外键约束确保了任何对引用表的插入、更新或删除操作都必须遵循与主表之间的关系规则。这样可以防止出现孤立的记录,即引用了不存在的主键记录。 2. **防止数据错误**:当尝试插入或更新与主键...

    数据库技术与应用 外键约束-A学习任务书.doc

    4. 级联操作:设置外键约束时,可以指定级联操作,例如当父表中的记录被删除或更新时,子表中的对应记录也将自动更新或删除,以保持数据一致性。 5. 实践案例:分析电子信息工程技术专业中可能遇到的数据管理问题,...

    MySQL外键约束常见操作方法示例【查看、添加、修改、删除】

    在MySQL数据库中,外键约束是关系型数据库中用于维护数据完整性和一致性的重要工具。它确保了一张表中的数据与另一张表的数据之间的关联性,通常用于实现一对一、一对多或多对多的关系。本篇文章将详细讲解如何进行...

    MLDN魔乐科技_Oracle课堂18_外键约束

    在实际开发中,合理使用外键约束有助于避免数据不一致的问题,但也需要注意性能问题,因为外键约束会在插入、更新和删除操作时增加额外的检查,可能会影响数据库的性能。因此,在大型系统中,需要权衡数据完整性和...

    MLDN魔乐科技JAVA培训_Oracle课堂18_外键约束.rar

    在数据库设计中,外键约束是一项至关重要的概念,它确保了数据的一致性和完整性。外键(Foreign Key)是数据库关系之间的一种链接,允许在一个表中的数据引用另一个表中的数据,形成表之间的关联。在本MLDN魔乐科技...

    数据库技术与应用 外键约束-D习题与作业.doc

    在学习和实践中,你可以尝试设计自己的数据库模型,创建表并设置外键约束,然后进行数据插入、更新和删除操作,以加深对外键约束的理解。同时,还可以通过解决习题和作业来检验你的掌握程度,比如电子信息工程技术...

    数据库技术与应用 设置学生表外键约束-A学习任务书.doc

    在数据库技术中,外键约束是关系数据库设计中不可或缺的一部分,它主要用于确保数据的一致性和完整性。本学习任务书将重点讲解如何在学生表中设置外键约束,以实现不同表之间的关联,这对于电子信息工程技术专业的...

    实验三数据外键约束删除(方便删表).sql

    实验三数据外键约束删除(方便删表).sql

    MySQL删除有外键约束的表数据方法介绍

    然而,当需要删除有外键约束的表数据时,这种约束可能会成为操作的阻碍。本文将详细介绍在MySQL中如何安全地删除这些受限的数据。 首先,当你尝试删除一个有外键约束的表或者表中的数据时,如果这个表被其他表引用...

    django在开发中取消外键约束的实现

    然而,在某些开发场景下,可能需要取消外键约束,这可能是出于性能优化、数据迁移或其他设计考虑。本文将详细介绍如何在Django中取消外键约束,并提供一些相关的操作示例。 首先,取消外键约束并不意味着完全移除...

Global site tag (gtag.js) - Google Analytics