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


最佳答案
zhouzhitian 发表于 2022-7-7 15:51
不允许重复的字段除了ID另有其他字段,是要针对其他字段设置“唯一”校验,但是如果在数据库中就设置唯一 ...
现在产品的分页逻辑是sql计算当前页的,分页后“唯一”只能和当前页来比较,因为除了当前页,其他页都没有经过sql运算,所以是无法比对的,这部分的逻辑即使是需要通过代码来改也会十分影响性能,因为要算出全量的数据,缓存到内存,然后一一对比,所以可行性不高。
所以建议使用变通方法:建议不分页。
一般情况回填表也不会有太多数据量,如果数据量太多,用户填报时也不方便。如果确实不分页时数据量过多,也可以用过滤条件来过滤筛选。
12个回答
看下您回填方式设置的是什么,如果是更新或者自动的话,存在多个相同主键时,数据库是进行的更新操作,所以不会报错。
把回填方式改为插入,即使分页了,数据库依然会用主键来约束。
-
zhouzhitian 小试身手Lv3
10#
小怪兽 发表于 2022-7-7 15:35
看下您回填方式设置的是什么,如果是更新或者自动的话,存在多个相同主键时,数据库是进行的更新操作,所以 ...
1、我改为“插入”之后,该问题还是存在;
2、我的数据库表中数据ID本来就不是重复的。
zhouzhitian 发表于 2022-7-7 15:43
1、我改为“插入”之后,该问题还是存在;
2、我的数据库表中数据ID本来就不是重复的。 ...
你数据库ID为主键,你页面上修改数据让ID重复,上报不会提示?