728x90
반응형
BOM(Byte Order Mark)때문에 발생한 원인일 가능성이 높습니다.
BOM은 UTF-8 형식의 인코딩에서 파일의 시작 부분에 들어가는 보이지 않는 특수 문자인데 복붙했을 때 인코딩 형식에 따라 자동으로 포함 될 수 있어요.
SELECT * FROM table WHERE column = 'text';
SELECT * FROM table WHERE column = 'text';
위와 같은 SELECT 문이 있는데 첫 번째 쿼리문은 실행됐고, 두 번째 쿼리문은 syntax 에러가 발생하였습니다.
이를 제대로 확인하기 위해 HEX()함수를 사용하여 확인해야 합니다.
SELECT HEX('text'); -- 첫 번째 쿼리에서 사용된 값
SELECT HEX('text'); -- 두 번째 쿼리에서 사용된 값
이 때 첫 번째 HEX 값은 757365724476736E436F6465이 출력 됐고, 두 번째 HEX 값은 EFBBBF757365724476736E436F6465이 출력되었습니다.
여기에 있는 EFBBBF가 UTF-8 인코딩에서 사용되는 BOM입니다.
따라서 'text'를 크롬같은 곳에서 복붙 하지말고, 다시 수기로 입력하면 정상으로 뜨게 됩니다.
728x90
반응형
'MySQL(DB)' 카테고리의 다른 글
[바미] .ibd과 .frm파일은 쿼리로 삭제하자! (0) | 2024.11.20 |
---|---|
[바미] There is no physical unique key defined. 에러 (0) | 2024.10.04 |
[바미] 데이터베이스 - Join (0) | 2024.07.28 |
[바미] 데이터 파티셔닝 (0) | 2024.06.20 |
[바미] MySQL - 프로시저에 대해 알아봅시다. (0) | 2024.03.28 |