에 정수로 캐스트하지 못했습니다. 오늘 한 검색어에서 문제가 발견되어 쉽게 해결책을 찾을 수 없습니다. - INT (10) UNSIGNEDmySQL : 검색 쿼리
SELECT
invoice_id, firstname, lastname
FROM
table
WHERE
email = '[email protected]' OR
firstname = '[email protected]' OR
lastname = '[email protected]' OR
invoice_id = '[email protected]'
문제는 여기에 우리가 invoice_id
으로 검색 한 것입니다 :
우리는 쿼리가 있습니다.
MySQL이 자동으로 정수로 [email protected] 캐스트 : 24 개 쇼 결과를 invoice_id와 행 = 24 내가 찾은 유일한 해결책은 확인하는 것입니다
숫자 또는 이전에 SQL 쿼리를 전송하지 및 경우입니다 invoice_id가 포함되지 않은 다른 쿼리를 실행하려면 숫자가 아님.
SELECT invoice_id FROM table WHERE invoice_id = '[email protected]'
내가 didn를 : 24 때이 쿼리를 처음 실행 :
이 예 쿼리, 실제 쿼리
이그것의 결과보고 매우 놀랐습니다 (3)이 invoice_id으로의 가입했다입니다 이 캐스팅에 대해 잘 모르겠다. 왜냐하면 일반적으로 정수 열에서 스팅을 검색하지 않기 때문에 나는 그것에 대해 구글에서 읽는다.
나도 몰랐다. 내 첫 번째 아이디어는'invoice_id'를 캐스팅하는 것이므로 WHERE CAST (invoice_id as VARCHAR) = '24aaa @ aaa.aa' '입니다. 그러나 이것이 작동하더라도 쿼리를 수행하기 위해 인덱스를 사용하는 것이 좋지 않을 수 있습니다. 그러나 당신은 그것을 시험 할 수 있습니다. 어쩌면 그것은 해결책 일 것입니다. – GolezTrol