MySQL로 탈퇴한 회원들의 개인 정보를 에스터리스크(*)로 마스킹하는 UPDATE 쿼리를 날렸다. 테스트를 위해 특정 아이디를 WHERE 조건으로 잡았는데 ROW 2개가 UPDATE 되었다. 변경된 두 아이디를 확인해보니 나머지 문자열은 다 같은데 문자 하나만 대문자/소문자로 달랐다.
MySQL은 테이블 명과 컬럼명에 있어 대소문자를 구분하지만, VARCHAR, TEXT 타입의 데이터 조회 시에는 대소문자를 구분하지 않는다. 따라서 데이터의 대소문자를 구분하는 쿼리를 작성하고 싶으면 BINARY 함수를 사용해서 이진수로 변경된 값을 비교하도록 만들어야 한다.
SELECT * FROM member WHERE BINARY(id) = 'Jiumn'
또는 컬럼을 만들 때 데이터 타입을 VARBINARY로 만들어준다.
CREATE TABLE `test2` (
`item` VARBINARY(30)
);