go 使用 mysql goup by报错
sql
var sql = "select max(version) as version, id, " +" tenant,type, name, format, default_value, multi_line, max_length, min_length, formula " +" from imcs_field_string_definitions " +" where id = 11 group by id"
报错
Error 1055: Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘imcs.imcs_field_string_definitions.tenant’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
原因:
每次重启main的时候会重新初始化数据库设置,
每次重启main后需要初始化,执行:
select @@sql_mode;
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
优化后的代码
// leimin, 批量查询最大版本的定义数据
func MaxVersionDefinition(db *gorm.DB, ids []string, tenant string) (maxModels []FieldStringDefinition, err error) {db.Exec("SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))")var sql = " select max(version) as version, id, " +" tenant,type, name, format, default_value, multi_line, max_length, min_length, formula " +" from imcs_field_string_definitions " +" where 1=1 ${ids} and tenant= ${tenant} " +" group by id "idsStr, err := concatString(ids)sql = strings.Replace(sql, "${ids}", idsStr, -1)sql = strings.Replace(sql, "${tenant}", tenant, -1)db = db.Raw(sql)db = db.Scan(&maxModels)return maxModels, db.Error
}
go 使用 mysql goup by报错相关推荐
- mysql安装教程博音网_RTSP视频平台EasyNVR使用mysql数据源启动报错unknow drivermysql优化...
原标题:RTSP视频平台EasyNVR使用mysql数据源启动报错unknow driver"mysql"优化 我们上一篇讲了TSINGSEE青犀视频开发的视频平台默认都是使用的s ...
- mysql表恢复报错binlog_mysql数据恢复,利用binlog2sql快速闪回
一.环境设置 1.mysql配置中首先要开启binlog,如没开启,在my.conf 下配置如下参数: server-id = 1 log_bin = /var/log/mysql/mysql-bin ...
- mysql source导入报错ERROR 1366的解决方法
mysql source导入报错ERROR 1366的解决方法 参考文章: (1)mysql source导入报错ERROR 1366的解决方法 (2)https://www.cnblogs.com/ ...
- mysql group by 报错 ,only_full_group_by 三种解决方案
mysql group by 报错 ,only_full_group_by 三种解决方案 参考文章: (1)mysql group by 报错 ,only_full_group_by 三种解决方案 ( ...
- Linux下MySql插入汉字报错解决(/etc/my.cnf不存在)
2019独角兽企业重金招聘Python工程师标准>>> Linux下MySql插入汉字报错解决(/etc/my.cnf不存在) 看了很多帖子,大多数是说修改my.cnf,如 http ...
- mysql创建用户报错ERROR 1290
使用navicat 给mysql创建用户报错ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv op ...
- mysql分页查询报错,及解决
mysql分页查询报错: 前提: 1.每页1000条数据 2.查到57页的时候,就报错了 以下是错误信息: org.springframework.jdbc.UncategorizedSQLExcep ...
- mysql登录报错error1045,mysql创建登录报错ERROR1045(28000)
.如下图(第四个): 而本人创建的用户为: Mysql> grant all on itcase.* to 'test'@'%' identified by '123456'; ...
- MySQL 添加字段报错1005 Can‘t create table ‘#sql-12d23_4bd‘ (errno: 28)
问题描述:MySQL 添加字段报错1005 Can't create table '#sql-12d23_4bd' (errno: 28) 解决方法: 1.可以考虑一下是否是硬盘内存已满 2.如果上述 ...
最新文章
- 平面广告设计和Web设计的差别
- rsync同步(2010年写作)
- 查找算法:二分查找、顺序查找
- 长时间整理的xhtml网页设计规范
- HTML/CSS——网页SVG ICON(小图标)解决方案
- python iocp_记对协程增加IOCP支持时候踩过的一些坑
- 缓慢的http拒绝服务攻击 tomcat_常见的网络攻击类型
- php数组变量太大后台返回500,PHP max_input_var设为了1000导致post数组太多时无法接受后面的参数值...
- 据说这篇总结覆盖了一般Python开发面试中可能会问到的大部分问题
- 在CentOS6虚拟机上安装VirtualBox增强功能
- php cookie 加密解密,php实现cookie加密的方法
- python 公司年会抽奖_Python语言学习之用Python写公司年会抽奖程序
- [系列教程] Discuz模板的制作方法
- hashMap 和linkedHashMap
- 华为防火墙笔记-网络地址转化NAT
- 腾讯技术跨越2019
- 好心情:吃精神科药物药不见效?你可能忽视了血药浓度
- 有关chromium浏览器 ios 读证书 验证证书 (注没有找到方法),在这里做一下笔记
- 《高等数学A》课堂笔记——高分必过
- 小白成长记第2期:简单易操的YouTube美金项目,get!
热门文章
- 三顾人才和拉勾网哪家好
- 美能达266i显示服务器iws,办公智能i时代 从柯尼卡美能达bizhub 226i开始
- 海尔电视android怎么设置,海尔电视怎么连接手机 海尔电视连接手机步骤
- 痞子衡嵌入式:导致串行NOR Flash在i.MXRT下无法正常下载/启动的常见因素之QE bit...
- ERROR:function cannot execute on a QE slice/Greenplum 错误解决
- 计算机科学技术高等数学,计算机科学与技术本科-入学测试高等数学测试题(第1套).doc...
- 关于/dev/null 和 /dev/zero文件详解以及误删/dev/null和/dev/zero的解决方法和利用/dev/zero进行磁盘IO测试方法
- 关于任务调度执行不成功的调试
- 中国电信将取消长途漫游费 大规模布局物联网
- vue 高德地图 不同区域显示不同颜色_联测科技丨高德地图不仅仅是拿来导航的...