填报怎么样可以不管主键,只要提交成功了就覆盖原纪录

填报怎么样可以不管主键,只要提交成功了就覆盖原纪录

FineReport Scyalcire 发布于 2020-8-5 11:19
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
Doctor_WeiLv7中级互助
发布于2020-8-5 11:30

如果覆盖的话就必须有主键,你这里应该是不清楚主键是谁??

填报的主键与数据库的主键没有什么必然联系。帆软的叫填报主键,你可以自己设置

最佳回答
0
krystal033Lv7高级互助
发布于2020-8-5 11:19

没办法  覆盖的条件就是根据主键去覆盖的

最佳回答
0
luojian0323Lv7资深互助
发布于2020-8-5 11:34

我有一个办法就是填报到一个中间表,然后在中间表中添加 一个触发器:插入后触发。

删除你要填报的表记录,再插入你刚填报的新记录。

因为触发器不能删除自身表数据。所以需要一个中间表。

最佳回答
0
冰泉冷涩Lv6初级互助
发布于2020-8-5 13:03

所以是不是楼主要填报的数据中不好找一个格式的主键呢?

数据库主键和FR填报的主键是不一样的,要不楼主试试在数据库里新建一个列,在填报时设置它为主键,用FR内置的uuid()自动生成唯一序列号,这样你其它字段随便填都可以入库。但是当填入的数据对应数据库的主键重复时就还得覆盖了。https://help.finereport.com/doc-view-2869.html


最佳回答
0
shirokoLv6资深互助
发布于2020-8-5 13:06

没有办法,

如果需要更改主键数据,可以进行先删除后插入。隐藏起真正的主键和展示给用户看的主键,按真正的主键去删除,然后插入展示的数据

  • 6关注人数
  • 873浏览人数
  • 最后回答于:2020-8-5 13:06
    请选择关闭问题的原因
    确定 取消
    返回顶部