2013-04-12 4 views
3

이 질문에 대한 연구를 수행했는데 MySQL 설명서, MySQL 버그 보고서, 스택 오버플로 또는 다른 포럼에서 읽은 내용이 아직까지 도움이되지 않았습니다.간단한 MySQL SELECT가 오류 1054로 실패 함 알 수없는 열

SELECT * FROM `Toyota` WHERE `Toyota`.`CollisionEstimatingID` = '22028589'; 

이 쿼리는 WHERE

이 칼럼에서 1054

알 수없는 MySQL의 오류 코드 열 Toyota.CollisionEstimatingID와 함께 실패

나는 간단한 mysql을 선택 쿼리를 존재하지 않습니다. 데이터베이스의 철자를 확인했습니다. 따 블레와 칼럼은 적어도 30 번 이상. 심지어 데이터베이스를 삭제하고 다시 가져 왔습니다. 나는 백틱으로 그리고 backticks없이, 앨리어스와 별칭을 사용하지 않고 시도했다. 나는 명시 적으로 table.column 문법으로 이름 붙여진 그것을 시도했다. 그리고 명시적인 문법없이, 내가 섞은 모든 것을 일치 시키려고 노력했다. 언급 한 (테이블에 backticks 있지만 컬럼에, 열에 있지만 테이블 이름) 아니, 아무것도 작동하는 것. Ubuntu 12.04의 mysql CLI에서 실행하면 실패하고 PHP 5.3 코드에서는 실패하고 phpMyAdmin에서는 실패합니다. 나는 테이블을 뒤집을 준비가되어있다.

SELECT * FROM `Toyota`; 

이 아무 문제없이 작동합니다

나는이 생각을 할 때? 좋은 신, MySQL은 여기

show create database Toyota;

CREATE TABLE `Toyota` (
    `CollisionEstimatingID` varchar(255) DEFAULT NULL, 
    `OE_part_number` varchar(255) DEFAULT NULL, 
    `Price` varchar(255) DEFAULT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 

에서 흥미로운 메모를 테이블 설치 유도로 ... 그런 애 태우는 - 그것은 문자 인코딩 문제가 될 수 있을까? 나는 show create table Toyota을 사용하고 "CollisionEstimatingID"를 제외하고 모두 삭제하여 phpMyAdmin에서 한 번 작동하도록 만들었고 SELECT 문을 구성하는 데 사용했습니다. 그러나 절단과 붙여 넣기를 시도했을 때 주사위가 없었습니다.

utf8 문자 집합을 사용하여 데이터베이스와 테이블을 다시 만들어서 도움이되는지 확인하려고했지만 도움이되지 않았습니다. 필자는 phpMyAdmin 창에서 텍스트를 복사하여 소스 코드에 복사 해 보았습니다. - 열 이름의 시작 부분에 약간의 펑키 한 문자가 생겼습니다. - >>?CollisionEstimatingID 만 움라우트 + 이중 오른쪽과 함께 'i'였습니다. 쉐브론과 거꾸로 물음표.

내가 곤혹 스럽다. 누구든지 그들의 프로그래밍 기량을 시험하고 형제를 돕고 싶습니까?

+0

어떻게 테이블을 만들었습니까? 핸드 타입? 파일 가져 오기? – Passerby

+0

@Passerby - 테이블을 프로그래밍 방식으로 만들었습니다. 변환 할 .txt 내보내기 파일의 거대한 모음이 있으며이 항목에 대한 쿼리를 작성해야합니다. – hypervisor666

+3

""와 (과) 비슷합니까?이것은 UTF-8 BOM입니다 (http://en.wikipedia.org/wiki/Byte_order_mark). 첫 번째 파일을 정리해야 할 수도 있습니다. – KillerX

답변

1

""와 (과) 비슷합니까?

이것은 UTF-8 BOM (en.wikipedia.org/wiki/Byte_order_mark)입니다.

입력 파일을 먼저 정리해야합니다.

+0

감사합니다. 선생님! 당신은 내 밤을 만들고 부팅하도록 교육 시켰습니다! 이제 나는 마침내 잠을 잘 수 있습니다 : P – hypervisor666

+1

당신은 환영합니다 ("출력이 온라인으로 시작되었습니다"와 같은 것을 얻을 때 상대적으로 일반적인 PHP 문제입니다.) – KillerX

0

SQL Server에 대한 테스트를 수행 했으므로 코드에 아무런 문제가 없습니다. 시도해보십시오

SELECT * FROM Toyota WHERE Toyota.CollisionEstimatingID = '22028589' 
관련 문제