(转)数据库更新或者删除数据是通过外键约束同步更新

问题:在写毕业设计时,只是建立了五张表,但是可能每次都需要更新或者删除几张表的数据,之后陷入思考

在网上也搜了好多,之后得到了一些结论:

这里先把从别处找来的资料放到这里,然后再总结下需要注意的地方

InnoDB中对外键约束定义的语法看起来如下:

[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)

    REFERENCES tbl_name (index_col_name, ...)

    [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]

    [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]

 

外键定义服从下列情况:

         ·  所有tables必须是InnoDB型,它们不能是临时表。

         ·  在引用表中,必须有一个索引,外键列以同样的顺序被列在其中作为第一列。这样一个索引如果不存在,它必须在引用表里被自动创建。

         ·  在引用表中,必须有一个索引,被引用的列以同样的顺序被列在其中作为第一列。

         ·  不支持对外键列的索引前缀。这样的后果之一是BLOB和TEXT列不被包括在一个外键中,这是因为对这些列的索引必须总是包含一个前缀长度。

         ·  如果CONSTRAINT symbol被给出,它在数据库里必须是唯一的。如果它没有被给出,InnoDB自动创建这个名字。

其中tbl_name被称作为父表,定义外键的表被称作为子表。

外键约束对子表的含义: 

  如果在父表中找不到候选键,则不允许在子表上进行insert/update(即默认情况下(RESTRICT下),定义了外键以后就不能对子表进行删除和修改操作) 

但是实际开发中,我们想要做的是更新父表的数据,同时更新子表相关数据,删除父表数据后,可能需要对子表进行set null置空操作,那么先来看看外键约束对父表的含义吧:

  在父表上进行update/delete以更新或删除在子表中有一条或多条对应匹配行的候选键时,父表的行为取决于:在定义子表的外键时指定的on update/on delete子句, InnoDB支持5种方式, 分列如下 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 数据库数据对比工具(MSSQL版)是一种专门用于比较和验证MSSQL数据库数据差异的工具。它可以帮助数据库管理员和开发人员快速识别和解决数据库中的数据问题。 这种工具的主要功能包括: 1. 数据比较:可以比较两个数据库之间的表或视图中的数据,找出差异之处。它可以比较各个字段的值,识别新增、更新删除的记录。 2. 数据同步:工具还提供数据同步功能,可以将源数据库中的数据同步到目标数据库中。这对于在不同环境中进行数据迁移和备份非常有用。 3. 数据验证:工具可以验证业务逻辑和数据完整性,例如检查主外键关系、唯一约束等。通过检测和报告无效数据,可以帮助用户及修复数据问题。 4. 数据对比报告:工具可以生成详细的数据对比报告,展示两个数据库之间的差异,并提供可视化的方式展示数据差异,如图表和图像。 5. 自定义设置:工具通常允许用户根据自己的需求配置比较规则和参数。用户可以选择需要比较的表或字段,设定比较的范围和条件。 总之,数据库数据对比工具(MSSQL版)可以帮助用户方便地识别和解决数据库中的数据差异。它提供了快速而准确的比较和验证功能,有效地提高了数据库管理和开发人员的工作效率。 ### 回答2: 数据库数据对比工具(MSSQL版)是一种用于比较和对比SQL Server数据库中的数据差异的工具。它可以帮助用户在多个数据库服务器之间进行数据同步数据备份还原以及数据迁移等操作。 该工具具有以下特点和功能: 1. 数据比较:工具能够比较两个数据库中相同表结构的数据,并显示差异之处。用户可以选择按照主键、唯一键或指定条件进行比较。 2. 快速高效:工具使用优化的算法和技术,以提高数据比较的性能和效率。它可以在短间内处理大量的数据。 3. 灵活性:用户可以根据自己的需求设置比较规则和过滤条件,以便更精确地找到数据的差异。工具还支持自定义比较模板和规则。 4. 易于使用:工具提供直观的用户界面,用户只需几步操作即可完成数据比较任务。同,工具还支持命令行模式,方便批量处理。 5. 安全性:工具通过加密和身份验证等安全措施,保护用户的数据不被未经授权的人员访问和篡改。 6. 报告生成:工具可以生成详细的数据差异报告,以便用户查看和分析。报告可以导出为PDF、Excel或HTML格式。 数据库数据对比工具(MSSQL版)能够极大地简化数据库维护和管理的工作,提高工作效率和数据质量。它被广泛应用于软件开发、数据仓库和BI系统等领域。 ### 回答3: 数据库数据对比工具(mssql版)是一种可以帮助用户比较和对比不同数据库之间的数据差异的工具。它可以用于对比两个或多个数据库数据,在数据一致性检查、数据同步数据迁移等方面发挥重要作用。 这种工具的主要功能包括: 1. 数据比较:可以按照用户定义的比较规则,对两个或多个数据库中的表、视图和存储过程进行数据比较。它能够检测到数据的增加、删除和修改,方便用户了解数据库之间的差异。 2. 数据同步:在数据比较的基础上,工具可以帮助用户将两个数据库中的数据进行同步。它可以自动执行增、删、改等操作,使得两个数据库数据保持一致。 3. 数据迁移:工具还支持将一个数据库数据迁移到另一个数据库。用户可以选择性地迁移特定的表或整个数据库数据,保证数据的完整性和一致性。 4. 数据备份和恢复:工具可以对数据库中的数据进行备份,以防止数据丢失或误操作。同,它也支持通过备份文件将数据恢复到原始或其他数据库中。 5. 数据报告:工具可以生成详细的数据差异报告,包括增、删、改的数据数量和具体的数据内容。这样用户可以方便地查看和分析数据库之间的差异和变化。 数据库数据对比工具(mssql版)可以提高数据库管理和维护的效率,并保证数据的完整性。无论是开发人员、数据库管理员还是数据分析师,都可以从中受益,更好地管理和利用数据库中的数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值