MySQL Workbench는 결과를 BLOB로 표시합니다.
MySQL Workbench가 쿼리 결과를 다음과 같이 표시한다는 것을 계속 발견합니다.BLOB
. 예:SELECT INET_NTOA(167773449)
-->BLOB
값 보기'를 선택하면 텍스트 값이 '10.0.5.9'라고 판단할 수 있지만 여러 행을 선택하고 내용을 훑어보고 싶을 때 상당히 짜증납니다.
이를 해결할 수 있는 방법이 있습니까, 아니면 도구의 한계입니까?
배경:이 문제는 이진 문자열 값(BINARY/VARBINARY 유형)이 결과에 반환될 때 발생합니다.이진 문자열에는 0바이트가 포함되어 있으며 어떤 이유로 보안이 기본적으로 표시되지 않았습니다.이진 문자열에 대한 자세한 내용은 여기에 있습니다.
보고된 예에서도SELECT INET_NTOA(167773449)
, 함수는 이진 문자열을 반환합니다.참고용으로 이것을 확인합니다.
해결책:MySQL Workbench v5.2.22부터는 이러한 값을 SHOW로 할지 HIDE로 할지 기본 설정을 통해 설정할 수 있습니다.
- MySQL Workbench에서 "Edit -> Preferences..."로 이동합니다. -> SQL 쿼리" 또는 "편집 -> 기본 설정... -> SQL Editor -> SQL Execution" (Workbench의 버전에 따라 다름)
- 실제 값을 표시하려면 'BINARY/VARBINARY를 nonbinary 문자열로 처리' 옵션을 선택합니다.
참조:원본 문제는 여기에 수정하여 보고하고 답변하였습니다.
BLOB 타입을 문자열에 캐스트하는 것이 가능합니다.이렇게 하면 선택한 문을 검색할 때 BLOB 유형의 내용을 간단히 살펴볼 수 있습니다.
SELECT CAST(`blob_column_name` AS CHAR(10000) CHARACTER SET utf8) FROM `table_name`;
다른(약간 짧은) 솔루션
SELECT CONVERT(FROM_BASE64(myMEDIUMTEXTcol) using utf8) notAblobject FROM myTable;
관련없는배경
내 테이블에는 Base64 문자열을 저장하는 MEDIATEXT 열이 포함되어 있습니다.프론트엔드 JS 코드에서는 문자열 대신 개체가 계속 반환되었습니다.개체에 ASCII 값 배열이 들어 있는 것 같습니다.
phpMyAdmin에서 관련 쿼리를 테스트한 결과 결과가 BLOB였습니다.객체 대신 간단한 문자열을 반환받기 위해 위와 같이 SQL 쿼리를 업데이트했습니다.
언급URL : https://stackoverflow.com/questions/13634369/mysql-workbench-shows-results-as-blob
'programing' 카테고리의 다른 글
SQL "LIKE" 문과 동등한 SQL Lchemy (0) | 2023.09.28 |
---|---|
Web Api + HttpClient:비동기 작업이 보류 중인 동안 비동기 모듈 또는 핸들러가 완료되었습니다. (0) | 2023.09.28 |
새 가져오기 표준에 의해 시작된 요청을 탐지하려면 어떻게 해야 합니까?일반적으로 어떻게 AJAX 요청을 감지해야 합니까? (0) | 2023.09.28 |
PHP에서 특정 유형의 객체를 확인하는 방법 (0) | 2023.09.28 |
각도 컴파일러는 무엇을 "컴파일"합니까? (0) | 2023.09.28 |