Ошибка синтаксиса SQL в EXPLAIN - PullRequest
3 голосов
/ 01 августа 2011

Я пытаюсь заставить команду объяснения работать в mysql.Я пытаюсь устранить неполадки, связанные с выполнением этого запроса на удаление:

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.

Я понимаю, что EXPLAIN не работает с удалением, поэтому яскопировал его и заменил DELETE на SELECT, чтобы получить следующее:

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, mysql выдает мне сообщение об ошибке, что это недопустимый SQL:

ОШИБКА 1064 (42000): у вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с 'FROM boost_cache_relationships WHERE base_dir =' cache / normal / www.dane101.com 'A' в строке 1

Что такоеЯ делаю не так?

Ответы [ 3 ]

6 голосов
/ 01 августа 2011

Вам необходимо указать список полей:

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';
4 голосов
/ 01 августа 2011

В запросе на выбор требуются имена столбцов. Запрос на удаление не делает.

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';
3 голосов
/ 01 августа 2011

В вашем выборе попробуйте выбрать несколько столбцов:

SELECT *...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...