回答

收藏

查询中的MySQL group_concat_max_len

技术问答 技术问答 324 人阅读 | 0 人回复 | 2023-09-14

我正在寻找一种方法来插入此
% j, T" K- f4 }! q2 y- mSET GLOBAL group_concat_max_len=150004 w/ \7 A  [; o/ K2 B+ Q) ]# F$ q
在现有的SQL查询中,如下所示:
3 ?' p6 A+ P! r8 X7 KSELECT * 0 S2 ~# J. Z. R8 _' ]0 c9 m
FROM `Pages`
& L( w/ n8 l6 j4 B5 Z9 a8 @  {WHERE id =1 / c4 Q" `2 I$ k4 g+ c- m! Q
UNION SELECT 1 , 2, IF( 1 >0, SET GLOBAL group_concat_max_len=15000,'B' )
' H& @: Y" l2 J& }! U( y但是我无法使它正常工作,因为通常此查询是单独执行的,我想知道你们中的一些人是否有使它正常工作的想法
" n! F6 w  S7 M5 \/ z                ( }. S, G1 E( k/ I! j5 i
解决方案:
# W$ W9 s4 O- W8 f               
' r. R7 o5 y/ b3 m) H" Z- J! b2 ]4 L- i( f' {2 L
: {6 n0 n' S" R9 P! K' L
                您不能SET像现在一样在表达式内部甚至在子查询中使用语句。自己执行SET一个语句。您设置的值将影响后续语句。
8 [4 N5 K) T8 Q5 K5 w顺便说一句,您是否知道SET. v/ Q7 S$ i! `' ^/ `# o
GLOBAL该设置将影响服务器上的所有其他MySQL连接,并且该设置甚至会在当前会话完成后继续存在,直到您将其设置为其他设置为止?SET% `4 H9 X5 S4 w) ?
SESSION如果只希望该值影响当前会话,则可能要使用。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则