-
-
zhouzhitian 小试身手Lv3
发表于2022-7-6 17:05
悬赏1
已解决
楼主
本帖最后由 zhouzhitian 于 2022-7-6 17:13 编辑
1、在使用分页功能时,回填设置中的“唯一”项校验仅对分页当页内生效,这意味着处于第二页但校验项与第一页重复的数据可以“避开”唯一校验。
2、在使用分页功能时,每页底部总有重复数据堆积(数据库中其实不存在重复数据),如下图示例:
1、在使用分页功能时,回填设置中的“唯一”项校验仅对分页当页内生效,这意味着处于第二页但校验项与第一页重复的数据可以“避开”唯一校验。
2、在使用分页功能时,每页底部总有重复数据堆积(数据库中其实不存在重复数据),如下图示例:


12个回答
-
zhouzhitian 小试身手Lv3
12#
小怪兽 发表于 2022-7-7 15:45
你数据库ID为主键,你页面上修改数据让ID重复,上报不会提示?
不允许重复的字段除了ID另有其他字段,是要针对其他字段设置“唯一”校验,但是如果在数据库中就设置唯一键,那么出现重复数据的时候报错信息对于用户不友好。
zhouzhitian 发表于 2022-7-7 15:51
不允许重复的字段除了ID另有其他字段,是要针对其他字段设置“唯一”校验,但是如果在数据库中就设置唯一 ...
现在产品的分页逻辑是sql计算当前页的,分页后“唯一”只能和当前页来比较,因为除了当前页,其他页都没有经过sql运算,所以是无法比对的,这部分的逻辑即使是需要通过代码来改也会十分影响性能,因为要算出全量的数据,缓存到内存,然后一一对比,所以可行性不高。
所以建议使用变通方法:建议不分页。
一般情况回填表也不会有太多数据量,如果数据量太多,用户填报时也不方便。如果确实不分页时数据量过多,也可以用过滤条件来过滤筛选。