noktec noktec - 1 year ago 191
SQL Question

MySQL group_concat_max_len in a query

I'm searching a way to insert this

SET GLOBAL group_concat_max_len=15000

in an existing SQL query such as the following:

FROM `Pages`
WHERE id =1
UNION SELECT 1 , 2, IF( 1 >0, SET GLOBAL group_concat_max_len=15000,'B' )

But I couldn't make it work because usually this query is executed on its own and I was wondering if some of you had any idea how to make it work

Answer Source

You can't use a SET statement inside an expression like you're doing, or even in a subquery. Execute the SET in one statement by itself. The value you set will affect subsequent statements.

By the way, are you aware that SET GLOBAL means the setting will affect all other MySQL connections on your server, and the setting will even persist after your current session is done, until you set it to something else? You might want to use SET SESSION if you only want the value to affect your current session.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download