728x90
mysql에는 문자열을 암호화하는 함수가 있다. Password() 함수인데..
insert into member (id, pw) values ( 'abc', password('aaa'));
하고 commit을 확실히 하고
select *
from member
where pw = password('aaa')
를 했을 때 결과를 못 가져오는 경우가 발생한다.
가장 먼저 확인 해 볼 것은.... pw칼럼의 길이이다.
password('aaa')를 했을 때 길이보다 컬럼의 길이가 작으면
insert 할 때 값이 잘린다.
따라서 잘린 값과 password()함수의 결과값이 결코 같을 수 없다.
넉넉하게 pw칼럼을 vachar 50으로 주던가
긴 문장을 password()함수에 넣어서 길이를 보던가
조회 전 pw의 길이를 체크하던가 해야한다.
간만에 또 만졌더니... 며칠을 소비했던가 ㅠ.ㅠ
728x90