WHERE
절이있는 테이블에서 SELECT
을 수행 할 때 이상한 동작이 발생하면 정확히 일치하지 않는 레코드가 반환됩니다.정확히 일치하지 않는 부분을 반환하는 mysql select
내 테이블에 기본 키로 id int(11)
열이 있습니다. 예를 들어, 다음 두 쿼리를 ID 5350로 기록을 찾아 모두 ID로 레코드를 반환 내가 가진
SELECT * FROM mytable WHERE id="5350"
SELECT * FROM mytable WHERE id="5350abcd"
하나의 생각이 ""주변에 5350을 제거하는 것이었다 5350.
하지만 난 같은 결과를 얻을 수 있습니다 .$where = "id=$my_id";
$this->db->where($where);
이유 비 정확한 ID가 기록을 찾을 수없는되어 이런 일이, 그리고 내가 그것을 해결 어떻게 있도록 : CodeIgniter를, 나는이 시도?
귀하의 질문이 무엇인지는 분명하지 않습니다. 그러나 열은 정수로 정의되어 있으므로 문자열 값은 정수로 강제 변환됩니다. 왜 두 쿼리가 같은 결과를 얻는 지 궁금하다면 - MySQL은이 두 쿼리를 int로 처리하고 두 쿼리 모두에서 5350을 가져 오기 때문입니다. –