我正在
错误1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在''第1行'附近使用正确的语法 以下查询的错误
update Stops set trip_flag = true,
route_type = (select route_type from Routes
where route_id = (select route_id from Trips
where trip_id = (select trip_id from Stop_Times
where stop_id = (select stop_id from Stops where location_type = 0)));
请帮帮我。
答案 0 :(得分:2)
结尾处有一个缺少的结束括号。
答案 1 :(得分:2)
正如the manual所说:
目前,您无法更新表并从子查询中的同一表中进行选择。
您可以使用多表更新语法和自联接来解决此问题:
UPDATE
Stops
JOIN Routes ON Routes.route_type = Stops.route_type
JOIN Trips ON Trips.route_id = Routes.route_id
JOIN Stop_Times ON Stop_Times.trip_id = Trips.trip_id
JOIN Stops AS s2 ON s2.stop_id = Stop_Times.stop_id
SET
Stops.trip_flag = TRUE
WHERE
s2.location_type = 0