2016 - 2024

感恩一路有你

navicat数据库查询语句 做程序时,如果某个查询方法应当返回一条记录,但是查出来多条,是抛异常好还是从多条中取第一条好?

浏览量:1309 时间:2021-03-17 17:58:36 作者:admin

做程序时,如果某个查询方法应当返回一条记录,但是查出来多条,是抛异常好还是从多条中取第一条好?

本人10年开发培训经验,期间经历了Java Web,Android,H5,大数据,PHP等多个不同的方向的开发,也做过软件培训公司的金牌讲师,很有兴趣回答你这个问题。

你这个问题已经把需求说明的很清楚了,”某个查询方法应当返回一条记录,但是查出来多条“!也就是说,你的这个查询只应该有一个结果,但是在此时或者某些时候有了多个结果,那么就说明你的这个业务接口可能不符合幂等性要求啊。根据幂等性设计原则,无论你怎么查,只要参数一样,返回结果应该一样。

那么对于这种问题该怎么解决,抛出异常?返回多条中的第一条?

我觉得都不是很完美的解决方案。

抛异常,这是有些人的一种解决方式,但是问题解决了吗?没有啊!问题还在那里,下次触发了这个条件,还是会抛异常。这就好比说,森林里有只虎,有一天吃了人,然后你不去解决老虎,只是在森林里挂了个牌子说:慎入,里面有虎!这......

然后返回多个结果中的第一条,其实这也不是一种好办法,可能本就应该只返回一条,为什么查询到了多个呢?你数据库里数据的唯一性做了校验了吗?不说别的,每次都查询多个结果然后拿第一条数据,你不觉得这很影响效率吗?

所以要从根源上解决问题!为什么会导致数据有多条?该人工排查数据就人工排查,该加锁就加锁,尽可能保证查询时入参一样,结果也一样!


我从事互联网开发10年,主要的研究方向集中在Java web微服务架构领域,Android移动端研发,HTML5前端方向,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信你一定会有所收获。

如果有Java,Android,H5等开发方面的问题,或者是开发求职方面的问题,都可以在评论区留言,或者私信我。

navicat数据库查询语句 navicat筛选查询多个值 navicat如何查询数据

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。