[ABI 5.2] ABI分页功能缺陷

13621
12

zhouzhitian 小试身手Lv3

发表于2022-7-6 17:05

悬赏1

已解决

楼主
本帖最后由 zhouzhitian 于 2022-7-6 17:13 编辑

1、在使用分页功能时,回填设置中的“唯一”项校验仅对分页当页内生效,这意味着处于第二页但校验项与第一页重复的数据可以“避开”唯一校验。
2、在使用分页功能时,每页底部总有重复数据堆积(数据库中其实不存在重复数据),如下图示例:


最近看过此主题的会员

esen_5D2463MIG5

esen_5E1QJ0K76E

yzyz

esen_4Y97I7D5I3

wuq

esen_4SCAY86F4FVU

esen_510XDJJ9RV

zly_2960

最佳答案
zhouzhitian 发表于 2022-7-7 15:51
不允许重复的字段除了ID另有其他字段,是要针对其他字段设置“唯一”校验,但是如果在数据库中就设置唯一 ...

现在产品的分页逻辑是sql计算当前页的,分页后“唯一”只能和当前页来比较,因为除了当前页,其他页都没有经过sql运算,所以是无法比对的,这部分的逻辑即使是需要通过代码来改也会十分影响性能,因为要算出全量的数据,缓存到内存,然后一一对比,所以可行性不高。
所以建议使用变通方法:建议不分页。
一般情况回填表也不会有太多数据量,如果数据量太多,用户填报时也不方便。如果确实不分页时数据量过多,也可以用过滤条件来过滤筛选。
12个回答

只看楼主

两包辣条约吗 数据达人Lv4

发表于2022-7-6 17:38

只看该作者

取消 关注该作者的回复

沙发

您所说的“唯一”的设置地方可以截图看看吗

zhouzhitian 小试身手Lv3

发表于2022-7-6 17:42

只看该作者

取消 关注该作者的回复

板凳

两包辣条约吗 发表于 2022-7-6 17:38
您所说的“唯一”的设置地方可以截图看看吗


选中某个字段——回填属性

两包辣条约吗 数据达人Lv4

发表于2022-7-6 17:48

只看该作者

取消 关注该作者的回复

地板

zhouzhitian 发表于 2022-7-6 17:42
选中某个字段——回填属性

我先测试一下

两包辣条约吗 数据达人Lv4

发表于2022-7-6 17:52

只看该作者

取消 关注该作者的回复

5#

可以直接把这个字段设置为主键嘛

zhouzhitian 小试身手Lv3

发表于2022-7-7 08:11

只看该作者

取消 关注该作者的回复

6#

两包辣条约吗 发表于 2022-7-6 17:52
可以直接把这个字段设置为主键嘛

你好,设置的就是主键

小怪兽 数据达人Lv4

发表于2022-7-7 14:14

只看该作者

取消 关注该作者的回复

7#

zhouzhitian 发表于 2022-7-7 08:11
你好,设置的就是主键

在数据库表中把该字段设置为主键

zhouzhitian 小试身手Lv3

发表于2022-7-7 14:22

只看该作者

取消 关注该作者的回复

8#

小怪兽 发表于 2022-7-7 14:14
在数据库表中把该字段设置为主键



数据库ID字段就是主键

小怪兽 数据达人Lv4

发表于2022-7-7 15:35

只看该作者

取消 关注该作者的回复

9#

看下您回填方式设置的是什么,如果是更新或者自动的话,存在多个相同主键时,数据库是进行的更新操作,所以不会报错。
把回填方式改为插入,即使分页了,数据库依然会用主键来约束。

zhouzhitian 小试身手Lv3

发表于2022-7-7 15:43

只看该作者

取消 关注该作者的回复

10#

小怪兽 发表于 2022-7-7 15:35
看下您回填方式设置的是什么,如果是更新或者自动的话,存在多个相同主键时,数据库是进行的更新操作,所以 ...

1、我改为“插入”之后,该问题还是存在;
2、我的数据库表中数据ID本来就不是重复的。

小怪兽 数据达人Lv4

发表于2022-7-7 15:45

只看该作者

取消 关注该作者的回复

11#

zhouzhitian 发表于 2022-7-7 15:43
1、我改为“插入”之后,该问题还是存在;
2、我的数据库表中数据ID本来就不是重复的。 ...

你数据库ID为主键,你页面上修改数据让ID重复,上报不会提示?

上一页12下一页共2页

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号