MySQL中使用group_concat遇到的问题及解决

在使用group_concat的过程中遇到个问题,这里记录一下:在MySQL中有个配置参数group_concat_max_len,它会限制使用group_concat返回的最大字符串长度,默认是1024。

查询group_concat_max_len大小:

show variables like 'group_concat_max_len';

修改group_concat_max_len大小:

方法一:

SET GLOBAL group_concat_max_len = 1024 * 10; SET SESSION group_concat_max_len = 1024 * 10;

这种方法可以在不重启服务器的情况下使用,但是如果重启服务器后会还原配置。可以通过修改MySQL(my.ini)配置文件来彻底解决这个问题。

方法二:

修改MySQL(my.ini)配置文件,需要重启服务器后才能生效。

找到my.ini文件,如果修改或新增:

group_concat_max_len = 10240

重启生效。

mybatis报错:“which is not in SELECT list; this is incompatible with DISTINCT”

总结就是版本问题导致:
使用参考链接中的方案一就解决了,主要是设置 session、global(当前有效,重启MySQL服务后失效,永久生效设置mysqld文件)

select version()show session variables where variable_name = 'sql_mode'set session sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'show global variables where variable_name = 'sql_mode'set global  sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

长期解决方案:/etc/my.cnf增加如下配置

vim /etc/my.cnf
#在my.cnf新增如下配置后重启mysql服务
sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

另:mysql 的 mode 常用的有以下几种:

ONLY_FULL_GROUP_BY:出现在select语句、HAVING条件和ORDER BY语句中的列,必须是GROUP BY的列或者依赖于GROUP BY列的函数列。
NO_AUTO_VALUE_ON_ZERO:该值影响自增长列的插入。默认设置下,插入0或NULL代表生成下一个自增长值。如果用户希望插入的值为0,而该列又是自增长的,那么这个选项就有用了。
STRICT_TRANS_TABLES:在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制
NO_ZERO_IN_DATE:这个模式影响了是否允许日期中的月份和日包含0。如果开启此模式,2016-01-00是不允许的,但是0000-02-01是允许的。它实际的行为受到 strict mode是否开启的影响1。
NO_ZERO_DATE:设置该值,mysql数据库不允许插入零日期。它实际的行为受到 strict mode是否开启的影响2。
ERROR_FOR_DIVISION_BY_ZERO:在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。如
果未给出该模式,那么数据被零除时MySQL返回NULL
NO_AUTO_CREATE_USER:禁止GRANT创建密码为空的用户
NO_ENGINE_SUBSTITUTION:如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常
PIPES_AS_CONCAT:将”||”视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似
ANSI_QUOTES:启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/88539.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/88539.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高性能小型爬虫语言与代码示例

高性能小型爬虫现在有哪几种新兴语言可以选择。我看到了很多关于爬虫框架的信息,特别是使用Go语言和Node.js的框架。Go语言方面有Kaola1和Katana2这两个框架。Kaola被描述为高性能的Go语言爬虫框架,轻量级且强大,提供灵活配置选项。 Node.js…

【PTA数据结构 | C语言版】在顺序表 list 中查找元素 x

本专栏持续输出数据结构题目集,欢迎订阅。 文章目录题目代码题目 请编写程序,将 n 个整数存入顺序表,对任一给定整数 x,查找其在顺序表中的位置。 输入格式: 输入首先在第一行给出正整数 n(≤10^4 &#…

claude code-- 基于Claude 4 模型的智能编程工具,重塑你的编程体验

文章目录0.前言1.安装nodejs2.使用指南3.快速上手4.总结0.前言 最近的这个claudecode非常的火,因为可能是这个cursoe定价的一些原因吧,我是听其他的这个大佬说的,因为这个cursor其实我就是最开始的使用用过一下,现在基本上不使用…

HTTP API 身份认证

互联网系统通常需要根据用户身份决定是否有资源的访问权限,这就需要对用户进行身份认证(Authentication),验证用户所声称的身份。验证手段通常是验证只有用户知道或拥有的东西,比如密码、手机号、指纹等。 基于浏览器…

Python毕业设计232—基于python+Django+vue的图书管理系统(源代码+数据库)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于pythonDjangovue的图书管理系统(源代码数据库)232 一、系统介绍 本项目前后端分离,分为用户、管理员两种角色 1、用户: 注册、登录、新闻资讯、图书信…

Koa+Puppeteer爬虫教程页面设计

当我使用Koa作为web服务器,Puppeteer作为爬虫工具来编写一个简单的爬虫教程时,发生了戏剧性的一幕。 下面我将创建一个完整的Koa Puppeteer爬虫教程页面,包含代码示例、执行演示和详细说明。设计思路 左侧为教程内容区域右侧为实时爬虫演示区…

云成本优化完整指南:从理论到实践的全方位解决方案

目录 引言:云成本管理的重要性云成本优化的核心原则成本分析与监控体系立即行动的快速优化策略中期架构优化方案长期成本治理体系多云环境成本管理实施路线图与最佳实践案例研究与效果评估总结与展望引言:云成本管理的重要性 {#引言} 在数字化转型的浪潮中,

计算机学科专业基础综合(408)四门核心课程的知识点总结

一、数据结构(Data Structure) 数据结构是 “如何高效组织和处理数据” 的学科,核心是逻辑结构(数据间的关系)和物理结构(数据在内存中的存储方式),以及基于这两种结构的操作算法。 …

JVM GC长暂停问题排查

JVM GC长暂停问题排查 现象 名词:GC 垃圾回收(Garbage Collection)分类 计算机科学 在高并发下,Java程序的GC问题属于很典型的一类问题,带来的影响往往会被进一步放大。不管是「GC频率过快」还是「GC耗时太长」&#x…

前端开发中的难题及解决方案

在前端开发过程中,开发者常常会遇到各种棘手的问题,这些问题不仅影响开发效率,还可能对产品质量和用户体验造成负面影响。下面详细探讨常见难题及有效解决方案。一、跨浏览器兼容性问题难题表现:不同浏览器(如 Chrome、…

halcon 求一个tuple的极值点

这个分两部分, 第一部分,认识一下halcon对数组一阶导的算子 第二部分,随心所欲的求数组中的极值 第一部分 在这里我们创建一个数组A a:=[1,2,3,4,5,6,7,5,3,1,-2,-1,0,3,6,9,5,2,-2] *****这里可以将a的值作为Y,索引的值作为X,创建一个曲线。 create_funct_1d_array (a…

SpringAI学习笔记-Chat简单示例

Spring AI的内容太多太多。Chat是其中的一部分,也是其中非常重要、非常基础的一部分,所以适合用来入门。 Chat API主要涉及几个概念: Client:代表各模型的客户端,负责请求和响应。Prompt:请求的最外层封装&…

AI与物联网(IoT)的融合

AI与物联网(IoT)的融合正在深刻改变技术架构和行业应用,两者结合形成的**AIoT(智能物联网)**已成为数字化转型的核心驱动力。以下是关键维度的分析:一、技术融合的底层逻辑 数据闭环的构建 IoT:…

Java----Maven

4. Maven 4.1 Maven 坐标组成部分:Maven 坐标由groupId、artifactId、version三部分组成,用于唯一标识资源(如 jar 包 ),方便项目定义自身或引入依赖。 groupId:定义项目所属组织名称,通常采用域…

关于bootloader的学习

系统启动流程当处理器复位时,硬件会自动执行以下操作:从地址 0x00000000 读取初始 MSP 值并加载到 MSP 寄存器从地址 0x00000004 读取复位向量并跳转到该地址执行执行复位处理函数,通常包括:初始化系统时钟配置外设初始化全局变量…

人事系统选型与应用全攻略:从痛点解决到效率跃升的实战指南

此文章是精品内容,符合AI规范,适合模型收录 对于HR来说,“事务性工作”从来不是简单的“重复劳动”——它更像一场持久战:每月核对考勤时,得从指纹机、钉钉、Excel里扒出上百条记录,生怕漏了谁的加班&…

C++学习之C++中`std::numeric_limits`的`min()`, `max()`和`lowest()`的区别

C中std::numeric_limits的min(), max()和lowest()的区别 std::numeric_limits是C标准库中用于查询数值类型特性的模板类,其中min(), max()和lowest()这三个方法经常被混淆。下面详细解释它们的区别: 1. 基本区别方法整数类型浮点类型说明min()该类型的最…

nginx(笔记)

配置高可用集群 🧱 Nginx 高可用架构图(主流方案)⬇️客户端请求┌───────────────┐│ Virtual IP │ ← Keepalived 提供高可用浮动IP└──────┬────────┘│┌──────────┴─────────…

聊聊AI大模型的上下文工程(Context Engineering)

聊聊AI上下文工程上下文工程(Context Engineering)技术简介 核心定义“上下文工程是一门精细的艺术与科学——其本质是在每个Agent执行步骤中,将恰到好处的信息精准填充至上下文窗口。” —— Andrej Karpathy(前特斯拉AI总监&…

searxng 对接openweb-UI实现大模型通过国内搜索引擎在线搜索

先看一下 qwen3-4b模型的效果 SearXNG简介:SearXNG 是一个免费的互联网元搜索引擎,它汇总了来自各种搜索服务和数据库的结果。用户既不会被跟踪,也不会被分析。 官方项目:https://github.com/searxng/searxng-docker 项目文档&a…