MySQL에서 데이터를 삽입하려고 할 때 문제가 생겼던 부분입니다.
Data too long for column 'img' at row 1 ... 어쩌구 하는 에러가 나왔습니다.
이미지를 넣을때 생긴 에러이며, 처음에는 문제없이 이미지가 삽입되는걸 확인했습니다.
일단 이미지 파일을 BLOB 형식으로 DB에 저장하다 나온 에러인데, 어떤 이미지를 넣으면 들어가고 어떤 이미지를 넣으면 안들어가는 현상이어서 여기저기 찾아보니 BLOB의 최대 용량 때문이었습니다. BLOB의 용량이 최대 64kb... 그래서 더 큰 용량이 없는지 확인해보니 그 우로 MEDIUMBLOB, LONGBLOB이 있었습니다.
BLOB 종류
BLOB Type | 용량 |
TINYBLOB | 256 Bytes |
BLOB | 64KB |
MEDIUMBLOB | 8MB |
LONGBLOB | 4GB |
문자열은 몇가지가 있는걸로 알고 있었는데 BLOB도 종류가 4가지나 있었습니다...
그래서 BLOB -> MEDIUMBLOB으로 데이터타입을 변경해주었더니 문제가 말끔하게 해결되었습니다.
웬만해선 MySQL에 이미지를 직접 저장하는 일이 없었기에 잘 몰랐던 내용인데 이렇게 또 한가지 새로운 사실을 깨우치게 되었습니다..!