알찬정보 툰코 개발 트렌드 이슈 코딩

알찬정보 툰코 개발 트렌드 이슈 코딩

  • [mysql] (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation ‘=’

    hellowsydney8010

    2023년 12월 05일
    미분류
    [mysql] (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation ‘=’

    mysql로 테이블을 join해서 데이터를 읽어오려는데 다음과 같은 에러를 만났다.

    ​

    Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation ‘=’

    ​

    ​

    여태껏 아무 문제없이 테이블끼리 join을 했었는데 … 이번에 새로 추가한 테이블이랑 기존 테이블의 COLLATE가 안맞는거 같다.

    ​

    SHOWCREATETABLETABLE_NAME;

    위 쿼리로 DDL을 보니 새로운 테이블에 COLLATE 값이 빠져있었다.

    ​

    ​

    ​

    해결방법

    ​

    1. COLLATE 추가

    ALTERTABLETABLE_NAMECONVERTTOCHARACTERSET utf8mb4 COLLATE utf8mb4_unicode_ci;

    ​

    2. 조회할 때 COLLATE 명시

    WHERE tableA.field COLLATE utf8mb4_general_ci = tableB.field

    ​

    다음
    이전

    답글 남기기 응답 취소

    이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Subscribe to Our Newsletter!

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Subscribe Now

Copyright © 2023 Sydney Note

Design by ThemesDNA.com