2012-06-07 4 views
1

나는이 쿼리를 가지고 있고, 나는 그것이 그 자체로 이야기 생각 ...정말 이상한 오류

mysql> select id,email from members where email LIKE "%[email protected]%"; 
+--------+----------------------------+ 
| id  | email      | 
+--------+----------------------------+ 
| 272118 | [email protected] | 
+--------+----------------------------+ 
1 row in set (0.69 sec) 

mysql> select id,email from members where email = "[email protected]"; 
Empty set (0.00 sec) 

mysql> select id,email from members where id = 272118; 
Empty set (0.00 sec) 

데이터는 존재하지만, 내가 좋아하는 이외의 사용하는 경우는 빈 반환

+0

열의 형식은 무엇입니까? –

+1

테이블 구조를 표시 할 수 있습니까? 당신은 전자 메일에서 선택 길이 (ID), 길이 (전자 메일)을 만들 수 있습니까 ...... ?? – jcho360

+1

는 WHERE 이메일 LIKE "%[email protected]%"'회원들로부터'SELECT HEX (이메일)의 출력을 보여하세요? – eggyal

답변

3

쿼리가 너무 많아서 불가능할 때 테이블 (또는 인덱스) 손상을 생각하고 MySQL CHECK 명령을 실행할 때입니다.

그런 경우 REPAIR TABLE members QUICK을 실행하면 트릭을 만들었습니다.

+0

고마워요! 이것은 내가 한 일이었습니다 – Cito

+0

왜 내 질문을 편집하고 제목에 FIXED를 삭제합니까? – Cito

+0

haylem의 코멘트를 읽기 : SO 포럼 아니고, 우리가 표시되지 않는 제목에 [고정]. 이 답변은 eggyal의 도움으로 만들어졌으며 그것이 내가 커뮤니티 위키 답변 (저의 평판 포인트가되지 못하는 이유)이었습니다. –

0

ID가 varchar이고 전자 메일이 varchar 인 경우 주변 공간이있을 수 있습니다.

+0

아니요, id는 int이고 메일에는 공백이 있어도 – Cito

+0

공백이 없습니다. 처음에는 %와 비슷하게 사용하고 관련성이 없습니다. –

+0

%는 공백과 일치하지만 일치하지 않으면 공백과 일치합니다. 하지만 네 메일에 공백이 없다면 적합하지 않을 것입니다 –