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

删除时外键冲突怎么办

 
阅读更多

首先我们设置这样一个场景

有两张表 1.department,2.staff

我们可以知道,一个department会有多个staff,所以设置staff里的depID为department里depID的外键。

<wbr></wbr>

那么这样带来一个问题:

我们删除staff的数据时,自然不会有什么问题。但是删除department记录呢?因为deparement里还有员工啊!

这带来外键的冲突。

<wbr></wbr>

我们可以这样,当删除某个部门的时候,我们先获得它的ID,找到它下面所有的员工。将这些员工的depID重新设置。可以设置到其它的部门,或者是根部门。

分享到:
评论

相关推荐

    小议sqlserver数据库主键选取策略

    当然,其它字段可以辅助我们在执行这些操作时消除共享冲突,不过就不在这里讨论了。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。所以数据库在设计时,主键起到了很重要的作用。 常见的...

    掌握MySQL面试技巧.pptx

    3、MySQL约束:约束是用来限制MySQL数据表中数据输入的规则,包括主键约束、外键约束、唯一约束、非空约束等。在MySQL面试中,候选人需要了解各种约束的含义和使用方法,以及如何避免约束冲突等问题。

    Hibernate注释大全收藏

    version属性映射到 "OPTLOCK" 列,entity manager 使用这个字段来检测冲突。 一般可以用 数字 或者 timestamp 类型来支持 version. 实体Bean中所有非static 非 transient 属性都可以被持久化,除非用@Transient注解...

    数据库主键设计原则.txt

    订单主档表插入记录后, 要是明细保存时遇到错误,主档表记录还要进行删除.烦.插入成功以后,还要取出产生的最大值.这将是一个严重的浪费. 记录多的话会影响速度,而且会存在并行插入.导致获取的记录可能是不正确的. ...

    小议数据库主键选取策略

    当然,其它字段可以辅助我们在执行这些操作时消除共享冲突,不过不在这里讨论了。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。所以数据库在设计时,主键起到了很重要的作用。  常见的...

    sql-sync:SQLite(客户端)和MySQL(主服务器)之间的脱机复制

    sql同步 SQLite(客户端)和MySQL(主服务器)之间的脱机复制。 该项目不是库,而是示例代码。 它的某些部分( lib代码)可以在其他项目中重用。...在客户端侧表的动作(插入/更新/删除)被记录到元数据表sync并具

    DbConvertStudioSetup1.7.zip

    某些错误可能会导致数据库目标发生冲突,只需轻轻一按对话问题的小型重新配置过程,即可轻松消除这些错误。用户无需担心二进制数据的安全性。转换器能够完成所有需要的工作。DB Convert 的应用具有支持二进制数据的...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    在创建表时,经常会创建该表的主键、外键、唯一约束、Check约束等  语法结构 create table 表名( [字段名] [类型] [约束] ……….. CONSTRAINT fk_column FOREIGN KEY(column1,column2,…..column_n) ...

    SQLServer数据库设计规范.txt

    2.8 Rule ru+Rule标识 2.9 主键 pk+表名+主键标识 2.10 外键 fk+表名+主表名+外键标识 2.11 索引 idx+字段标识 2.12 Default df+Default标识 3 编程结构和描述 SQL SERVER系统中,一个批处理是从客户传给服务器的一...

    ado[1].net中文手册 学习 ado.net的重要资料

    将 XML 架构 (XSD) 约束映射到 DataSet 约束:描述用于在 DataSet 中创建唯一和外键约束的 XML 架构元素。 从 XML 架构 (XSD) 生成 DataSet 关系:描述用于在 DataSet 中各表列间创建关系的 XML 架构元素。 了解约束...

Global site tag (gtag.js) - Google Analytics