2011-08-01 7 views
3

mysql에서 explain 명령을 실행하려고합니다.EXPLAIN의 SQL 구문 오류

DELETE FROM boost_cache_relationships 
WHERE base_dir = 'cache/normal/www.dane101.com' 
    AND page_callback = 'node' 
    AND page_type = 'story' 
    AND page_id = '2891'; 

이 쿼리는 SHOW FULL PROCESSLIST 명령의 출력입니다 :이 삭제 쿼리의 성능 문제를 해결하는 것을 시도하고있다. MySQL은 나에게이 유효하지 않은 SQL이 없다는 오류 메시지를 제공,

explain select 
FROM boost_cache_relationships 
WHERE base_dir = 'cache/normal/www.dane101.com' 
    AND page_callback = 'node' 
    AND page_type = 'story' 
    AND page_id = '2891'; 

내가 Enter 키를 누르십시오 경우 : 삭제가 작동하지 않습니다 EXPLAIN 이해

그래서 나는 그것을 복사하고 다음 줄 SELECT와 DELETE 교체 :

ERROR 1064 (42000) : SQL 구문에 오류가 있습니다. 'A'라인에서 캐시/일반/www.dane101.com 1

무엇 오전 'WHERE BASE_DIR = boost_cache_relationships로부터'근처 사용할 수있는 권리 구문 MySQL 서버 버전에 해당하는 설명서를 확인 내가 잘못하고있어?

+0

선택할 일부 열을 추가합니다. –

+1

당신이 옳다고 생각합니다. 이를 신용으로 얻으려는 답변으로 추가하십시오. –

+0

아니, 그냥 도와 드리겠습니다. 그것은 나에게 대답하기에는 너무 짧다. 하지만 생각에 대한 감사 :-) –

답변

6

당신은 필드 목록을 지정해야합니다

select * FROM boost_cache_relationships WHERE base_dir = 'cache/normal/www.dane101.com' AND page_callback = 'node' AND page_type = 'story' AND page_id = '2891'; 
+0

+1 너무 나를 이길 – JonH

+0

소년은 지금 바보처럼 느껴 집니까. 감사! –

4

선택 쿼리를 선택하는 열 이름이 필요합니다. 삭제 쿼리는 그렇지 않습니다. 당신의 선택 시도에서

SELECT * 
FROM boost_cache_relationships 
WHERE base_dir = 'cache/normal/www.dane101.com' 
AND page_callback = 'node' 
AND page_type = 'story' 
AND page_id = '2891'; 
+0

+1 나를 때린다. – JonH

3

약간의 열을 선택합니다 :

SELECT *...