mysql에서 문자열을 비교하고 싶지만 올바르게 작동하지 않는 것 같습니다.mysql의 문자열 비교가 올바로 작동하지 않습니다.
내가 로그인/암호가 VARCHAR에 대한 내부 (255분의 128) 및 하나 개의 기록을 표 사용자가
내가 로그인 quak이며, 비밀번호는 'D08 여기서 사용자를 얻고 싶었다 (아래 참조) .. . '그래서 난 일부 쿼리 생성 : -
SELECT d.* FROM USERS d WHERE d.password = 'd08774a578812218da9f94480f914589e57ff1f358ccfed6009e1d9331d0b702';
SELECT d.* FROM USERS d WHERE d.password IN ('d08774a578812218da9f94480f914589e57ff1f358ccfed6009e1d9331d0b702');
작동하지SELECT d.* FROM USERS d WHERE strcmp(d.password, 'd08774a578812218da9f94480f914589e57ff1f358ccfed6009e1d9331d0b702');
- 일SELECT d.* FROM USERS d WHERE d.login = 'quak';
- - 일SELECT d.* FROM USERS d WHERE strcmp(d.login, 'quak') = 0;
- 일 (반환 0 - 동일)왜 1, 2를 조회
SELECT d.* FROM USERS d WHERE d.login IN ('quak');
작동하지 쿼리 4,5는 어디에 작동하지 않습니까?쿼리 6이 작동하는 이유는 쿼리 3이 작동하지 않는 이유는 무엇입니까?
.. 한 UTF8 일반 어쩌면
가 선택 d'시도하려고 * 사용자로부터는 d.password LIKE '%의 d08774a578812218da9f94480f914589e57ff1f358ccfed6009e1d9331d0b702 %'' –
@TravisSmith는 여기서 d 0 레코드)' – Niewidzialny
'SELECT d. * FROM USERS d '와 실험 d.password LIKE'% d08774a578812218da9f94480f914589e57ff1f358ccfed6009e1d9331 d0b70 % ''여전히 빈 결과를 반환하는지 확인하십시오 –