Ошибка MySQL?Где синтаксическая ошибка? - PullRequest
3 голосов
/ 13 октября 2010

Попробовал запрос с помощью «SELECT *» вместо «DELETE FROM», и он работал отлично.

DELETE FROM  `80dage_garmin_track` t1 WHERE EXISTS (

SELECT 1 
FROM  `80dage_garmin_track` t2
WHERE t1.Length = t2.Length
AND t1.Time = t2.Time
AND t1.idgarmin_track > t2.idgarmin_track
)

Ошибка MySQL: . # 1064 - у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который следует использовать рядом с 't1, ГДЕ ЕСТЬ

1 Ответ

3 голосов
/ 13 октября 2010

MySQL не разрешает все виды подвыборов в предложении WHERE в DELETE, см. этот поток .Ваш может (или не может) быть в порядке, если вы удалите псевдоним таблицы (t1), что также не допускается для DELETE.

...