MySQL에서 BOOLEAN 타입 사용 시 발생하는 오류

Kim jisu·2024년 12월 28일
0

 Debugging Note

목록 보기
7/37

문제

ALTER TABLE 명령어로 BOOLEAN 타입 컬럼을 추가하려고 시도했을 때 오류 발생

ALTER TABLE member.member_info
ADD COLUMN notificationStatus BOOLEAN DEFAULT FALSE;

이 명령어가 오류를 발생시키는 이유는 MySQL에서 BOOLEAN을 사실상 TINYINT로 처리하기 때문에 발생

해결 방법

MySQL에서 BOOLEAN은 내부적으로 TINYINT 타입으로 처리되므로, 명시적으로 TINYINT을 사용하면 된다
따라서, 다음과 같은 방식으로 컬럼을 변경하면 오류 없이 추가할 수 있다

ALTER TABLE member.member_info
ADD COLUMN notificationStatus TINYINT DEFAULT 0;

결론

BOOLEAN을 사용해도 문제없이 동작할 수 있지만, MySQL에서 BOOLEAN은 TINYINT으로 변환되어 처리된다
MySQL에서 TINYINT을 사용할 때 0은 FALSE, 1은 TRUE로 처리

profile
Dreamer

0개의 댓글