尝试用“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 WHERE EXISTS附近使用正确的语法(第1行来自80dage_garmin_track` t2 WHERE t1.Le'
答案 0 :(得分:3)
MySQL不允许DELETE的WHERE子句中的所有类型的子选择,请参阅this thread。如果删除表别名(t1),也可能(或可能不)你的,这也是DELETE不允许的。