设置@sql1='';
选择
_CONCAT组(不同
康卡(
'最大值(如果(字段id='',
字段id,
'',value,NULL)为'',
字段id,'`'
)
)进入@sql1
从内容细节;
设置@sql1=CONCAT('SELECT',@sql1,'FROM content_details GROUP BY content_id');
选择@sql1;
从@ SLL1准备STMT;
执行stmt;
解除准备STMT;
在上面的代码中,@sql1变量只存储一些有限的字符。
这里我是动态地浓缩字符串。
我不知道绳子的确切总长度,将来会怎样。我的问题是如何将无限字符长度设置为$sql1变量。请指教。

最佳答案

听起来你对GROUP_CONCAT_MAX_LEN有意见。您可以在会话期间调整此变量的长度。
此变量的默认长度为1024。您应该能够使用:

set session group_concat_max_len = yourNewValue;

如果要全局设置此值,它将影响所有其他连接,这就是为什么您可能只想为会话设置它。

关于mysql - 在Mysql Prepared语句中增加设置变量的长度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16917567/

10-09 00:57