首页 > 其他分享 >记录一个gorm发生全局查询条件的问题

记录一个gorm发生全局查询条件的问题

时间:2022-11-15 18:25:09浏览次数:31  
标签:gorm 全局 查询 where id select

 

 

 

正常情况下在使用gorm做修改操作时,会使用omit过滤一些字段,比如上图中修改的时候就不应该修改创建时间和创建人字段的值。

关键点在于上图如果omit中没有增加id字段,会造成gorm的全局查询条件问题,

简单来讲在下次查询的时候如果查询id=1的数据时,gorm会自动把上图中的查询条件拼接上去

会把原本的sql

select * from order where id= 1

改成

select * from order where (id=1) and id=10

结果则是查询不到数据,有尝试查看gorm的源码,找到为什么会这样的原因,但是因为时间有限,没有找到原因。

如果你知道原因,欢迎评论

标签:gorm,全局,查询,where,id,select
From: https://www.cnblogs.com/WORDPAD/p/16893432.html

相关文章

  • mysql查询每张表有多少条记录
    mysql查询每个表有多少条记录的方法:执行【selecttable_name,table_rowsfromtableswhereTABLE_SCHEMA='数据库的名称';】语句即可。mysql查询每个表分别有多少条记......
  • 前后端架构技术记录-动态列与查询条件
    目前做过的许多项目都是后台管理的多,基本上页面上的参数和查询条件都是能够通过代码生成出来的。构想有几点动态配置条件与列,生成对于的vue的条件-列表,java的bean,sql代......
  • 记录一次11表关联查询的优化
    一、优化背景接收的历史项目有一个存储过程,查询涉及11张表。单个存储过程在线上查询一次耗时时间较长。获取该存储过程在无压力的测试库单独执行,最好的情况,执行单次需要......
  • 解读数仓常用模糊查询的优化方法
    摘要:本文讲解了GaussDB(DWS)上模糊查询常用的性能优化方法,通过创建索引,能够提升多种场景下模糊查询语句的执行速度。本文分享自华为云社区《GaussDB(DWS)模糊查询性能优......
  • day31 1 tomcat介绍与创建web项目 & 2 继承HttpServlet类、配置webxml全局配置文件 &
    ServletJavaServlet是运行在Web服务器或应用服务器上的程序,作为客户端(Web浏览器或其他HTTP客户端)和服务端(HTTP服务器上的数据库或应用程序)之间的中间层。使用Servlet可......
  • 023.ManyToOne对象关联查询
    1.在GoodsDetail.java中添加少的一方的实体privateGoodsgoods;2.在goods_detail.xml中进行对象关联的描述<resultMapid="rmGoodsDetail"type="com.imooc.m......
  • Mysql-分页查询
    --从0开始查询,查询3条数据;SELECT*fromstuLIMIT0,3;--每页显示3条数据,查询第1页的数据;SELECT*fromstuLIMIT0,3;--每页显示3条数据,查询第2页的数据;SELECT......
  • Flask 学习-96.Flask-SQLAlchemy 判断查询结果是否存在的几种方式
    前言在查询的时候,经常需要先判断是否存在结果,再进行下一步操作。这里总结了判断查询结果是否存在的几种方式count()统计个数count()方法返回记录条数,使用示例withap......
  • Yii全局函数使用
    由于YII致力于完美的整合第三方库,它并没有定义任何全局函数。yii中的每一个应用都需要全类别和对象范围。例如,Yii::app()->user;Yii::app()->params['name'];等等。我们可以......
  • sql server 数据库系统表及表结构查询
    sysobjects表结构:列名数据类型描述namesysname对象名,常用列idint对象标识号xtypechar(2)对象类型,常用列。xtype 可以是下列对象类型中的......