IT/SQL
ERROR 1170: BLOB/TEXT column '00' used in key specification without a key length
조스톡
2022. 2. 14. 22:20
728x90
반응형
ERROR 1170: BLOB/TEXT column '00' used in key specification without a key length
기본키로 blob/text를 사용하게 되면 나타나는 오류 코드이다.
간단한 설명
blob는 사진 파일에 대한 속성, text는 글을 저장해두는 속성이다.
blob와 text를 설정 할 수 없는 이유는, 둘 다 특정한 키 길이가 없다는 것이다. 키 길이가 정해져 있지 않으면 기본키(Primary Key)로 설정할 수 없다.
BLOB와 TEXT는 2의 16제곱 바이트(Byte)가량을 담을 수 있다.
(=65,536바이트, 한글의 경우 1글자에 2바이트를 사용한다.)
해결 방법
MYSQL Workbench에 들어가 설정하고자 하는 테이블을 선택 후, 스패너 모양을 눌러서 테이블 설정에 들어간다.
Primary Key로 설정할 Column을 선택 한 뒤, Datatype을 VARCHAR(n)로 변경한다.
이때 괄호에 숫자를 입력할 수 있는데, MySQL4.1 이후부터는 varchar(n)의 n 값이 글자수를 나타낸다.
주식 종목코드는 A000000로 구성되어 있어 총 7자리이다. 추가적으로 자리수가 늘어날 일이 없기 때문에 'VARCHAR(7)'으로 설정해주었다. 변경한 뒤 기본키(Primary Key) 설정을 진행하면 오류가 없을 것이다.
728x90
반응형