테이블 생성할 때 해당 오류를 마주쳤다.
기본키로 설정한 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형으로 바꾸었다...
바보같았지만, 이런 에러를 통해 기본키는 데이터 타입의 범위가 정해져야 함을 알았다.