开发者社区> 问答> 正文

宜搭数据删除问题

写了A表数据,B表和A表的数据是关联的,删除了A表的数据,对B表的数据有影响吗?

展开
收起
游客3wvjglhzp4cwa 2023-08-18 16:53:23 494 0
8 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    根据你的描述,如果B表和A表的数据是关联的,并且你删除了A表的数据,那么对应关系的B表数据也会受到影响。具体来说,可能会有以下情况发生:

    1. 级联删除:如果在定义B表的外键关系时,设置了级联删除(CASCADE),则删除A表的数据时,同时会自动删除相关的B表数据。

    2. 空值或默认值:如果在定义B表的外键关系时,设置了将A表的删除操作映射为B表的列为空值或默认值,那么删除A表的数据后,B表中与之关联的列会被置为相应的空值或默认值。

    3. 报错或限制:如果在定义B表的外键关系时,设置了将A表的删除操作映射为报错或限制(如RESTRICT),则删除A表的数据时,如果B表中存在关联的数据,则会出现错误或限制,阻止删除操作。

    2023-08-20 22:39:19
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,如果B表的数据和A表的数据存在外键关联,那么删除A表数据时,如果B表中存在和A表相关的数据,则会出现外键约束错误,导致无法删除A表数据。如果不想影响B表数据,可以先删除B表中与A表关联的数据,再删除A表数据。如果B表和A表数据没有关联,那么删除A表数据不会对B表数据有任何影响。

    2023-08-20 09:02:33
    赞同 展开评论 打赏
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    宜搭表单业务关联规则主要是用于处理表单与表单之间的关系,这种一张表单数据发生变化要同步影响另一张表单数据(增加、更新或者删除)。

    比如需要计算物品的出库、入库和最终库存时,物品入库了,那么库存表相应的商品库存量就需要增加;当物品领用或者是入库表单被删除了,那么库存表里相应商品的库存量就应该减少。

    在这三个事件(表单提交、表单删除、表单编辑)上都可以触发业务关联规则的执行; 业务关联规则需要使用下面四个高级函数,来完成对应用内其他表单的增删改查操作;

    INSERT :  主要用于把当前录入表的数据插入到目标表中,为目标表单插入新实例。

     UPDATE   :主要用于更新目标表中符合条件的数据。

     UPSERT   :主要用于往目标表单中插入或者更新数据。

     DELETE:主要用于删除目标表的数据。

    至于你说的删除A表的数据会不会影响B表的数据,就要看你配置的是什么关联规则,如果配置的关联规则是DELETE:删除目标表的数据,那删除A表一定会删除被它关联表单的数据B表的,如果配置的关键规则是更新或者插入,那么删除A表数据是不会删除被它关联表单的数据的。

    目前删除宜搭表单/流程表单的数据时,若表单/流程表单内有子表单,会被一起删除。

    比如配置业务规则:删除账单明细记录时,同时在该月汇总的费用金额上减去新的账单金额

    使用高级函数:UPDATE

     在提交和删除时,都关联上业务规则,这样提交表单会统计数据,删除表单也会统计数据

    2023-08-19 09:49:46
    赞同 1 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    如果A表和B表之间存在关联关系,比如通过外键约束或者其他的数据依赖关系,那么删除A表的数据可能会对B表的数据产生影响。

    具体影响取决于关联关系的类型和定义。如果A表是B表的外键表,那么删除A表的数据可能会触发SQL的约束报错,导致B表中与A表关联的数据无法被删除或修改。

    如果A表的数据被删除,而B表中仍然存在与之关联的数据,那么这些数据可能会因为关联关系的失效而变成悬挂状态,需要特别处理。

    因此,在删除A表的数据之前,如果你不确定关联关系的具体实现和影响范围,最好先进行数据备份,或者在删除之前先进行测试,以避免数据丢失或者数据不一致的情况发生

    2023-08-18 23:43:35
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    我已经认真阅读了 你的问题:

    【 宜搭数据删除问题

    并思考了

    建议如下:


    关联规则:在宜搭的数据模型中,你可以设置不同表之间的关联规则,如一对一关联、一对多关联等。如果B表和A表之间建立了关联关系,那么删除A表的数据可能会影响到B表中与之相关联的数据。

    删除规则:在关联关系中,你可以设置删除规则来定义当关联的主表数据被删除时,从表中的数据应该如何处理。常见的删除规则包括级联删除、禁止删除等。如果你设置了级联删除规则,那么删除A表的数据时,会自动删除与之关联的B表中的相关数据。

    2023-08-18 22:35:17
    赞同 展开评论 打赏
  • 如果B表和A表的数据是关联的,那么删除A表的数据可能会对B表的数据产生影响,具体取决于所使用的数据库的外键约束设置和删除操作的方式。

    1. 外键约束:如果在B表中设置了与A表的外键约束(例如通过外键关联主键),则删除A表中的数据可能会触发外键约束,导致无法删除或修改B表中相关的数据。这是为了维持数据的一致性和完整性而设计的保护机制。

    2. 级联删除:某些数据库支持级联删除操作,即当删除A表中的数据时,自动删除与其关联的B表中的数据。这可以通过在外键约束上设置级联删除选项来实现。在这种情况下,删除A表的数据会导致相关的B表数据也被删除。

    3. 设置空值:另一种情况是,可以选择在删除A表的数据时将相应的B表外键字段设置为空值。这样可以保留B表的数据,但它们将不再与A表的数据相关联。

    2023-08-18 20:34:36
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据你的描述,A表和B表之间存在关联关系,并且A表中的数据被删除后,你想知道是否会对B表的数据产生影响。

    如果A表和B表之间有外键约束(Foreign Key Constraint)或其他关联关系,在删除A表的数据时,可能会对B表的数据产生影响。具体情况取决于关联关系的定义以及数据库的设置。

    以下是两种常见的情况:

    1. 外键约束:如果A表中的数据被B表的外键引用,即B表中的某些行依赖于A表中的特定行,那么在删除A表的数据时,数据库通常会检查外键约束并采取相应的操作。这可能包括自动删除或禁止删除。

      • 如果设置了级联删除(Cascade Delete),则删除A表中的行也将删除B表中相关的行。
      • 如果没有设置级联删除,则删除A表中的行可能会触发外键约束错误,阻止删除操作。
    2. 其他关联关系:除了外键约束之外,A表和B表之间可能还存在其他类型的关联关系,例如触发器、存储过程等。在这种情况下,删除A表的数据可能会导致在B表中执行一系列相关的操作,具体取决于关联关系的定义和实现。

    因此,在删除A表的数据之前,建议仔细检查数据库模式和表之间的关联关系。确保了解并理解相关的约束、触发器或其他关联操作,并根据具体需求和业务逻辑进行相应的处理。

    2023-08-18 20:19:36
    赞同 展开评论 打赏
  • 是的,删除A表的数据会对B表的数据产生影响,因为B表和A表是关联的。如果在B表中有指向A表的外键,当删除A表中的数据时,这些外键将变得无效,导致B表中的数据出现错误或异常。此外,如果A表中的数据是B表中某些数据的依赖项,那么删除A表的数据也会导致B表中的这些数据失去意义或无法正确显示。因此,在删除A表的数据之前,需要谨慎考虑对B表数据的影响,并采取相应的措施来避免数据错误或丢失。

    2023-08-18 18:07:24
    赞同 展开评论 打赏
滑动查看更多
问答分类:
问答标签:
问答地址:
关联地址:
问答排行榜
最热
最新

相关电子书

更多
宜搭 - 企业智能化应用搭建平台 立即下载
《云市场-宜搭解决方案》 立即下载
《宜搭开发手册》 立即下载