utilizzando group_concat in phpMyAdmin mostrerà il risultato come [BLOB - 3B]
-
22-09-2019 - |
Domanda
Ho una domanda che utilizza il group_concat di MySQL su un campo intero.
Sto usando phpMyAdmin per sviluppare questa query. Il mio problema che invece di mostrare 1,2 che è il risultato del campo concatenato, ottengo [BLOB - 3B].
query è
SELECT rec_id,GROUP_CONCAT(user_id)
FROM t1
GROUP BY rec_id
(entrambi i campi sono unsigned int, entrambi non sono unici)
Cosa devo aggiungere a vedere i risultati effettivi?
Soluzione 4
Appena sopra il risultato della query (a sinistra) si vedrà +options
. Premere e marchio
Mostra contenuto BLOB
Altri suggerimenti
Sembra che group_concat si aspetta che il valore di essere una stringa. Ho appena incontrato lo stesso problema. Risolto convertendo la colonna int in una stringa in questo modo:
SELECT rec_id,GROUP_CONCAT(CONVERT(user_id, CHAR(8)))
FROM t1
GROUP BY rec_id
Ho pensato di condividere nel caso ve lo continui ad avere un problema con questo.
Secondo la documentazione MySQL , CAST(expr AS type)
è SQL standard e dovrebbe quindi essere perferred. Inoltre, è possibile omettere la lunghezza della stringa. Pertanto, suggerirei il seguente:
SELECT rec_id, GROUP_CONCAT(CAST(user_id AS CHAR))
FROM t1
GROUP BY rec_id
Per quanto mi riguarda, questo ha aiutato (trovato in questo post sul blog ):
Nel mio caso il parametro GROUP_CONCAT
era stringa ma la funzione ancora portato ad un BLOB, ma la conversione del risultato della GROUP_CONCAT
funzionato.
CONVERT(GROUP_CONCAT(user_id) USING 'utf8')
Si può fare questo:
set session group_concat_max_len = 512;
Se group_concat_max_len è più di 512 la query restituirà byte []. Ma si può passare ad una stringa.
System.Text.Encoding.Default.GetString((byte[])DataTable.Rows[0][0]);
Se si ha accesso al file config.inc.php
nella directory phpMyAdmin, poi
Credo che la soluzione migliore è quella di cambiare questa linea:
$cfg['Servers'][$i]['extension'] = 'mysql';
a questo:
$cfg['Servers'][$i]['extension'] = 'mysqli';
Se avete l'estensione mysqli disponibile, usarlo. E 'più sicuro, un po' più ottimizzato, e gestisce il tipo BLOB di utf-8 meglio per impostazione predefinita. Il tuo [BLOB] voci dovrebbero iniziare a mostrare come i loro valori senza dover aggiungere in tutte le altre opzioni di configurazione speciale.