PHPMYADMIN에서 group_concat을 사용하면 결과가 [BLOB - 3B]로 표시됩니다.
정수 필드에 mysql의 GROUP_CONCAT를 사용하는 쿼리가 있습니다.
이 쿼리를 개발하기 위해 PHPMYADMIN을 사용하고 있습니다.내 문제는 연결된 필드의 결과인 1,2를 표시하는 대신 [BLOB - 3B]가 나온다는 것이다.
쿼리는
SELECT rec_id,GROUP_CONCAT(user_id)
FROM t1
GROUP BY rec_id
(두 필드 모두 부호 없는 int이며 둘 다 고유하지 않음)
실제 결과를 보려면 무엇을 추가해야 합니까?
GROUP_CONCAT는 이 값이 문자열이 될 것으로 예상하고 있는 것 같습니다.저도 같은 문제에 부딪혔어요.int 열을 다음과 같은 문자열로 변환하여 해결했습니다.
SELECT rec_id,GROUP_CONCAT(CONVERT(user_id, CHAR(8)))
FROM t1
GROUP BY rec_id
아직 문제가 있을 때를 대비해서 말해두죠
MySQL 문서에 따르면CAST(expr AS type)표준 SQL이므로 권장해야 합니다.또한 문자열 길이를 생략할 수도 있습니다.따라서 다음을 제안합니다.
SELECT rec_id, GROUP_CONCAT(CAST(user_id AS CHAR))
FROM t1
GROUP BY rec_id
이것은 도움이 되었습니다(이 블로그 투고에서 확인).
제 경우 파라미터는GROUP_CONCAT문자열이지만 함수는 여전히 BLOB를 생성하지만, 그 결과를 변환합니다.GROUP_CONCAT일했다.
CONVERT(GROUP_CONCAT(user_id) USING 'utf8')
쿼리 결과 바로 위(왼쪽)에 표시됩니다.+options. 눌러서 표시하세요.
BLOB 내용 표시
전문
다음과 같이 할 수 있습니다.
set session group_concat_max_len = 512;
group_concat_max_len이 512보다 클 경우 쿼리는 바이트[ ]를 반환합니다.하지만 당신은 끈으로 넘어갈 수 있어요.
System.Text.Encoding.Default.GetString((byte[])DataTable.Rows[0][0]);
최신 Phpmyadmin에서
쿼리를 실행한 후 몇 가지 결과가 나타나고 도트가 표시됩니다.
옵션(쿼리 결과 상단에 있음)을 클릭하기만 하면 됩니다.
그럼 그냥 선택해주세요
전문
라디오 버튼, 기본값은 Partial texts 입니다.
그런 다음 Go 버튼을 누르면 전체 결과가 표시됩니다.
에 액세스 할 수 있는 경우config.inc.phpphpMyAdmin 디렉토리에 파일을 저장하여 다음 행을 변경하는 것이 가장 좋은 해결책이라고 생각합니다.
$cfg['서버'][$i]['확장'] = '확장';
다음과 같이 입력합니다.
$cfg['서버'][$i]['확장'] = 'mysqli';
mysqli 확장을 사용할 수 있는 경우 사용합니다.보다 안전하고 조금 최적화되어 디폴트로는 BLOB 타입의 utf-8을 보다 잘 처리합니다.[BLOB] 엔트리는 다른 특별한 설정 옵션을 추가할 필요 없이 값으로 표시됩니다.
언급URL : https://stackoverflow.com/questions/2133936/using-group-concat-in-phpmyadmin-will-show-the-result-as-blob-3b
'source' 카테고리의 다른 글
| JavaScript에서 현재 날짜 및 시간 가져오기 (0) | 2023.01.15 |
|---|---|
| PHP에서 upload_max_filesize 변경 (0) | 2023.01.15 |
| 리스트는 스레드 세이프입니까? (0) | 2023.01.15 |
| Python: 예외를 무시하고 계속 진행하려면 어떻게 해야 합니까? (0) | 2023.01.15 |
| convert_tz가 null을 반환합니다. (0) | 2023.01.15 |
