스프링 부트에서 암호화한 password를 가진 user를 저장하는 과정에서 바로 data truncation error가 나왔다.
- 아무리 짧은 pw라도 암호화하면 길어지기에 varchar(50)으로 선언해 놓았음에도 에러가 떴다.
com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'password' at row 1
data truncation error
- 딱 봐도 data type이 현재 insert하는 데이터를 수용할 수 없어서 뜨는 에러다.
원인 : BCrypt 인코딩 결과물의 크기
🚀 BCrypt
- BCrypt인코딩 결과 60개 characters로 이루어진 String이 반환된다. 따라서 varchar(60)으로 바꾸었더니 에러가 해결되었다.
alter table users modify password varchar(60);