Mysql数据库只有一条数据,但是界面查询出来有多个数据

您所在的位置:网站首页 sql查询id重复三次的数据是什么 Mysql数据库只有一条数据,但是界面查询出来有多个数据

Mysql数据库只有一条数据,但是界面查询出来有多个数据

2024-07-13 03:03| 来源: 网络整理| 查看: 265

简单的功能自己也没有注意测,提交给测试,第二天就发生产了,已经一周过去了,测试今天回归才发现,在点击页签是发现两条数据相同,通过条件帅选,只选择一条数据,问我是不是点击查询的时候 是否做过处理,我不确定重新看下代码,在sit环境也亲自测了下,没有做处理。

发现问题

一:拿着查询条件到数据库去查,数据库是一条数据,但是界面查询出来两条数据

二:跟测试说大概是前端分页插件的问题,sql不会有问题 (自信还是有的)

分析问题:

      1:先排查服务端给前端数据是否就有重复

       2:服务端数据没有问题,则应该是前端页面展示问题

解决问题

     1:点击第一页的时候打断点找到sql,把sql拎出来到mysql工具中执行,同样的拿出来第二页,第三页,第四页,第五页   

     2:发现第二页和第三页还有后面的几页都包含前面查出来的数据,查出的数据就有重复,那就看下是不是sql有问题

SELECT id, catalogue1_name as catalogue1Name, catalogue1_code as catalogue1Code, catalogue2_name as catalogue2Name, catalogue2_code as catalogue2Code, level4_group_name as level4GroupName, level4_group_code as level4GroupCode, create_time as createTime, update_time as updateTime FROM tn_test WHERE 1=1 AND catalogue1_name like "%":catalogue1Name"%" AND catalogue2_name like "%":catalogue2Name"%" AND level4_group_code= :level4GroupCode AND level4_group_name like "%":level4GroupName"%" order by create_time desc limit :offset, :size

  3:看sql没有感觉没有啥问题

  4:再看看数据库中的数据,创建时间,看看数据,根据创建时间排序,因为时间是一样的,每次调用经过排序后的数据都是不一样的,所有问题估计就出在时间上

因为id是自增的,所以这个地方sql的排序需要修改,修改如下:

order by create_time desc,id desc

验证问题

1:sql修改后,启动本地跑下看看数据没有重复的了

2:发布到sit环境和pre环境,让测试再次验证 ok。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3