테이블 생성할 때 해당 오류를 마주쳤다.
기본키로 설정한 member_id가 마음에 안 드는 것 같은데 읽어보니 기본키로 blob/text
를 사용해서 그런다고 한다.
blob은 사진 파일에 대한 속성이고, text는 글을 저장해 두는 속성인데,
나는 Long 타입을 사용했는데 무슨 상관일까 궁금해서 찾아봤다.
찾아볼 필요도 없었다. MySQL에서 Long 타입은 없었다.. 웃기지도 않는다
숫자 타입 | 바이트 수 | 숫자 범위 | 설명 |
---|---|---|---|
BIT(N) | N/8 | 1~64bit 표현, b'0000' 같이 표현 | |
TINYINT | 1 | -128~127 | 정수 |
SMALLINT | 2 | -32,768~32,767 | 정수 |
MEDIUMINT | 3 | -8.388,608~8,388,607 | 정수 |
INT / INTEGER | 4 | 약 -21억 ~ +21억 | 정수 |
BIGINT | 8 | 약 -900경 ~ +900경 | 정수 |
FLOAT | 4 | -3.40E+38~-1.17E-38 | 소수점 아래 7자리 |
DOUBLE / REAL | 8 | 1.22E-308 ~ 1.79E+30 | 소수점 아래 15자리 |
DECIMAL(m,[d]) | 5~17 | -1038+1 ~ +1038-1 | 전체 자릿수(m)와 소수점 이하 자릿수(d) |
Long
데이터 타입을 BIGINT
형으로 바꾸었다...
바보같았지만, 이런 에러를 통해 기본키는 데이터 타입의 범위가 정해져야 함을 알았다.