问题
I have a query which uses the GROUP_CONCAT of mysql on an integer field.
I am using PHPMYADMIN to develop this query. My problem that instead of showing 1,2 which is the result of the concatenated field, I get [BLOB - 3B].
Query is
SELECT rec_id,GROUP_CONCAT(user_id)
FROM t1
GROUP BY rec_id
(both fields are unsigned int, both are not unique)
What should I add to see the actual results?
回答1:
Looks as though GROUP_CONCAT expects that value to be a string. I just ran into the same problem. Solved it by converting the int column to a string like so:
SELECT rec_id,GROUP_CONCAT(CONVERT(user_id, CHAR(8)))
FROM t1
GROUP BY rec_id
Figured I'd share in case you were still having an issue with this.
回答2:
According to the MySQL documentation, CAST(expr AS type)
is standard SQL and should thus be perferred. Also, you may omit the string length. Therefore, I’d suggest the following:
SELECT rec_id, GROUP_CONCAT(CAST(user_id AS CHAR))
FROM t1
GROUP BY rec_id
回答3:
For me, this helped (found it in this blog post):
In my case the parameter to GROUP_CONCAT
was string but the function still resulted in a BLOB, but converting the result of the GROUP_CONCAT
worked.
CONVERT(GROUP_CONCAT(user_id) USING 'utf8')
回答4:
Just above the query result (to the left) you will see +options
. Press it and mark
Show BLOB contents
回答5:
You can do this:
set session group_concat_max_len = 512;
If group_concat_max_len is more than 512 the query will return byte[]. But you can pass to a string.
System.Text.Encoding.Default.GetString((byte[])DataTable.Rows[0][0]);
回答6:
If you have access to the config.inc.php
file in the phpMyAdmin directory, then
I think the best solution is to change this line:
$cfg['Servers'][$i]['extension'] = 'mysql';
to this:
$cfg['Servers'][$i]['extension'] = 'mysqli';
If you have the mysqli extension available, use it. It is more secure, a bit more optimized, and it handles the BLOB type of utf-8 better by default. Your [BLOB] entries should start showing up as their values without having to add in any other special configuration options.
来源:https://stackoverflow.com/questions/2133936/using-group-concat-in-phpmyadmin-will-show-the-result-as-blob-3b