找回密码
 立即注册

QQ登录

只需一步,快速开始

和家

初级会员

6

主题

110

帖子

238

积分

初级会员

积分
238
和家
初级会员   /  发表于:2022-3-23 17:46  /   查看:5352  /  回复:11
10金币
本帖最后由 和家 于 2022-3-23 17:51 编辑


如图,以身份证设置关联字段,开启级联更新。当我从子表批量导入含有标蓝部分的数据时,提示导入失败,因为主从表有更新约束导致,但是主从表的更新模式都是讲“主表更新时”,从表“怎么怎么样”,现在是我想子表导入数据时,子表中有的关联字段,主表中能自动更新。
如果我不开启高级模式里面的约束,时间一长,我也不知道主表中有哪些是子表中没有的关联字段,开启了约束后,又不能更新子表同时,同步更新主表。
这种情况怎么处置呢?

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

您好,外键约束是为了保证数据的完整性,一般来说,设置了主从表的数据库逻辑都是要求要有主表数据才能写入从表数据的,所以没有主表数据是不可以插入子表数据的,外键约束的规则也不是活字格中独创的概念,它在数据库设计中是通用的: MySQL外键约束(FOREIGN KEY)是什么?_风雨兼程,披星戴月。的博客-CSDN博客_什么是外键约束 您的这个需求的确是不太常见鸭,和一般的数据库更新逻辑刚好是相反的,如果可以,建议最好还是调 ...

11 个回复

倒序浏览
最佳答案
最佳答案
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-3-23 17:46:39
来自 2#
您好,外键约束是为了保证数据的完整性,一般来说,设置了主从表的数据库逻辑都是要求要有主表数据才能写入从表数据的,所以没有主表数据是不可以插入子表数据的,外键约束的规则也不是活字格中独创的概念,它在数据库设计中是通用的:
MySQL外键约束(FOREIGN KEY)是什么?_风雨兼程,披星戴月。的博客-CSDN博客_什么是外键约束
子表导入数据时,子表中有的关联字段,主表中能自动更新
您的这个需求的确是不太常见鸭,和一般的数据库更新逻辑刚好是相反的,如果可以,建议最好还是调整一下这里的需求。

回复 使用道具 举报
和家
初级会员   /  发表于:2022-3-24 10:36:51
3#
Chelsey.Wang 发表于 2022-3-23 17:46
您好,外键约束是为了保证数据的完整性,一般来说,设置了主从表的数据库逻辑都是要求要有主表数据才能写入 ...

那就。。。不分主从表,一张表里面搞查询条件。
回复 使用道具 举报
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-3-24 14:16:19
4#
和家 发表于 2022-3-24 10:36
那就。。。不分主从表,一张表里面搞查询条件。

这样可能会造成数据冗余,您可以描述一下您这里的具体业务场景是怎样的,可以帮您看看有没有更合适的解决方案~
我的思路是:可以考虑在准备添加数据时,先查找主表中该身份证号对应数据的行数是否为0,如果不为0,则添加子表数据;如果为0,先向主表中添加身份证信息,再新增子表数据。
回复 使用道具 举报
和家
初级会员   /  发表于:2022-3-25 08:48:30
5#
Chelsey.Wang 发表于 2022-3-24 14:16
这样可能会造成数据冗余,您可以描述一下您这里的具体业务场景是怎样的,可以帮您看看有没有更合适的解决 ...

大神,有没有你思路的具体DEMO 可以学习一下,我觉得你思路是很棒的,这个过程能不能通过活字格实现呢?比如:点击上传后,弹出提示页,有XXX主表中无信息,先添加,或者是可以一键添加到主表。百思不得骑姐啊。
回复 使用道具 举报
和家
初级会员   /  发表于:2022-3-25 11:16:31
6#
我可能在这里找到一点灵感,正在思考:表格A显示表格B中不存在的记录:https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=96111
回复 使用道具 举报
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-3-25 15:13:25
7#
和家 发表于 2022-3-25 08:48
大神,有没有你思路的具体DEMO 可以学习一下,我觉得你思路是很棒的,这个过程能不能通过活字格实现呢? ...

主要是这个需要结合您的工程才好具体分析,大概的思路就是上面说的,建议您可以整理好您的数据,做一个demo,在工程文件中说明(或者手动拼接好)您想要的效果。可以保证我最大程度的理解您的问题场景,也可以尝试直接在工程文件中实现~
回复 使用道具 举报
和家
初级会员   /  发表于:2022-3-25 16:59:22
8#
和家 发表于 2022-3-25 11:16
我可能在这里找到一点灵感,正在思考:表格A显示表格B中不存在的记录:https://gcdn.grapecity.com.cn/foru ...

下午研究了一下上面链接中的帖子,运用视图方法做了个如下DEMO,我觉得一定程度上,曲线解决了我的问题。也可能有更好的方法,小白能力有限,大佬勿怪。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
和家
初级会员   /  发表于:2022-3-25 17:01:08
9#
Chelsey.Wang 发表于 2022-3-25 15:13
主要是这个需要结合您的工程才好具体分析,大概的思路就是上面说的,建议您可以整理好您的数据,做一个de ...

8#做了个DEMO,请大佬指导。
回复 使用道具 举报
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-3-25 17:58:59
10#
和家 发表于 2022-3-25 16:59
下午研究了一下上面链接中的帖子,运用视图方法做了个如下DEMO,我觉得一定程度上,曲线解决了我的问题。 ...

看了一下大佬的demo,通过视图的这种方式处理就挺好的
要么就是在服务端命令中,将新增的数据传入,然后用循环命令循环每一条记录,然后查询对应记录身份证号在主表中的行数,再进行判断,是否添加数据到主表,这样处理相比您现在还要复杂一些,我觉得您现在用这个办法来处理就是OK的
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部