【mybatis mapper.xml】在xml中如何执行set group_concat_max_len=102400;

背景

做了一个功能,用到了group_concat函数,但是这个是有默认值的,默认值1024,不够我使用。

网友给出的解决方法

方法1(需要管理员权限)

SHOW VARIABLES LIKE "group_concat_max_len"; #查询最大值

SET GLOBAL group_concat_max_len=102400;

SET SESSION group_concat_max_len=102400

参考链接:https://blog.csdn.net/catoop/article/details/41805437

方法2(这个是线上的,不可能轻易去改)

永久设置group_concat长度,需要修改my.cnf或my.ini文件,在文件中找到[mysqld] 在后面添加group_concat_max_len=102400,保存之后然后重启mysql即可

方法3(临时设置,在mysql客户端是一次性的,对于我正好可以用)

 1、执行set group_concat_max_len=102400;

2、执行你用concat写好的sql

使用临时设置后,再次遇到了问题,如何在mapper.xml中执行set group_concat_max_len=102400;

一开始,使用;在select中使用,但是报错,不予许执行多个sql,需要在jdbc连接中加上allowMultiQueries=true,但是我的mysql连接是有的。这种写法排除掉。

参考链接:https://blog.csdn.net/chp891202/article/details/85012940?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

后面尝试使用,update标签修改(都是修改操作嘛,原谅我小白),结果这个报错,说返回值类型错误,这种也不行。

<update  id="setGroupConcat" > 
	      set group_concat_max_len=102400;
 </updatet >

 一般updae语句是返回更新行数的,但是set是没有的,我又联想到直接用select去操作。执行成功(喜极而泣)。

<select  id="setGroupConcat" > 
	      set group_concat_max_len=102400;
    </select >

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值