MySQL 2

[MySQL] 여러 row의 데이터를 한 row에 합치기 - GROUP_CONCAT

내가 관리? 하는 ㅋㅋ 데이터 중 다음과 같은 형식의 데이터들이 있다. 예시를 들자면 ... 제품 ID (ID) 제품 판매점 (STORE_CD) M001 서울 지점 M002 서울 지점 M002 부산 지점 M003 서울 지점 M003 부산 지점 M003 대구 지점 M003 제주 지점 ... ... 제품의 마스터 테이블은 따로 있고, 판매하는 지점 테이블은 후에 분석을 해야 하기 때문에 마스터 테이블에 한 컬럼으로 추가하지 않고 별개의 테이블을 생성해서 저장하고 있는 것으로 보인다. (설계 단계 때 참여한 게 아니라 왜 이런 식으로 만들었는지 모름...) 제품의 다양한 값들을 unique하게 추출해달라는 요청이 있었는데, 제품 마스터 테이블과 판매 지점 테이블을 INNER JOIN하면 제품 판매점 row 수..

공부/SQL 2022.09.13

[AWS RDS, MySQL] AWS RDS MySQL에서 이모티콘 사용하기

시스템을 운영하다 보면, 사용자들이 이모티콘이 포함된 데이터를 저장하는 경우가 종종 있다. 내가 운영하는 시스템 DB는 AWS RDS에 구축되어 있고, MySQL을 사용하고 있으며 charset은 기본적으로 uft8이다. utf8에서는 유니코드 버전이 낮은 이모티콘 (예시: 😀) 등은 문제 없이 INSERT가 가능하지만, 유니코드 버전이 높은 이모티콘 (예시: 💖) 를 INSERT하려고 하면 다음과 같은 오류가 발생한다. 유니코드 버전이 낮은 초기 이모티콘들은 3byte로 설계되어 있지만, 이모티콘의 숫자가 늘어나면서 유니코드 버전이 높은 이모티콘은 4byte로 설계되어 있기 때문에 그렇다고 한다. 이를 정상적으로 Insert 하기 위해서는 utf8mb4로 charset, collation 변경이 필요하..

공부/SQL 2022.06.30