Project/Boilerplate

MySQL 비교 시 대소문자 구분

조용우 2025. 4. 21. 20:17

문제:
아이디 로그인 시 대소문자 구분 안하고 있음

원인:
MySQL: 기본적으로 소문자 구분 안 함 (case-insensitive)인데,
테이블/컬럼의 collation이 utf8_general_ci라면 구분 안 하고,
utf8_bin이면 구분함

SELECT DEFAULT_COLLATION_NAME 
FROM information_schema.SCHEMATA 
WHERE SCHEMA_NAME = 'your_database_name';
로 collation 확인

테이블 뿐만 아니라 각 컬럼의 collation도 바꿔줘야 함
ALTER TABLE your_table_name 
MODIFY email VARCHAR(255) 
COLLATE utf8mb4_bin;