-1
을 선택 MySQL의 쿼리 내가 같은 테이블 사용자가 잘못 기록
id name status
---------------------
1 user1 1
2 user2 1
3 user3 1
나는이 쿼리는 ID를 2로 레코드를 선택합니다 실행
는 왜 이런 일이 일어 났는가? id가 2 인 레코드를 선택해야합니다.SELECT *
FROM (
`users`
)
WHERE `id` = '2a290cf764371';
이 문제를 어떻게 해결할 수 있습니까? 당신은 정수에 대한 문자열을 확인하기 때문에 발생
암시 적 유형 변환이 있습니다. 즉, '2a290cf764371'은 '2'로 변환 된 후 'id'와 비교됩니다. 이 문제를 해결하려면 클라이언트 측에서 유형 검사 유효성 검사를 추가해야합니다. –
[MySQL 자동 문자열에서 정수 캐스팅으로 where 절을 복제 할 수 있습니까?] (https://stackoverflow.com/questions/33543671/mysql-automatic-string-to-integer-casting-in-where-clause) –