[MySQL #2] Error Code: 1170. blob/text column 'member_id' used in key specification without a key length

0woy·2024년 1월 20일
0

에러

목록 보기
2/7

💣 문제

테이블 생성할 때 해당 오류를 마주쳤다.
기본키로 설정한 member_id가 마음에 안 드는 것 같은데 읽어보니 기본키로 blob/text 를 사용해서 그런다고 한다.

blob은 사진 파일에 대한 속성이고, text는 글을 저장해 두는 속성인데,
나는 Long 타입을 사용했는데 무슨 상관일까 궁금해서 찾아봤다.

찾아볼 필요도 없었다. MySQL에서 Long 타입은 없었다.. 웃기지도 않는다

숫자 타입바이트 수숫자 범위설명
BIT(N)N/81~64bit 표현, b'0000' 같이 표현
TINYINT1-128~127정수
SMALLINT2-32,768~32,767정수
MEDIUMINT3-8.388,608~8,388,607정수
INT / INTEGER4약 -21억 ~ +21억정수
BIGINT8약 -900경 ~ +900경정수
FLOAT4-3.40E+38~-1.17E-38소수점 아래 7자리
DOUBLE / REAL81.22E-308 ~ 1.79E+30소수점 아래 15자리
DECIMAL(m,[d])5~17-1038+1 ~ +1038-1전체 자릿수(m)와 소수점 이하 자릿수(d)

출처: [MySQL 자료형 타입 총 정리]


✨ 해결

Long 데이터 타입을 BIGINT형으로 바꾸었다...

바보같았지만, 이런 에러를 통해 기본키는 데이터 타입의 범위가 정해져야 함을 알았다.

0개의 댓글