从 MySQL 5.1 更新到 5.5 - 一切都很好。我知道差异和站点接受了升级,除了一个。
但是查询太复杂了,我看不出有什么问题...
以下是 5.1 中的工作
SELECT DISTINCT SQL_CACHE *
FROM Regions
WHERE (region_id IN
(SELECT SQL_CACHE included_region_id AS region_id
FROM Contains_areas
WHERE region_id =
(SELECT toplevel_region_id AS region_id
FROM Sites
WHERE site_url = 'http://www.domainname.com/' LIMIT 1))
OR (region_id =
(SELECT toplevel_region_id AS region_id
FROM Sites
WHERE site_url = 'http://www.domainname.com/' LIMIT 1))
AND user_id='1')
ORDER BY region ASC
但在 5.5 中,错误是
“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在 'AS region_id FROM Contains_areas WHERE region_id IN ( SELE' 第 26 行附近使用的正确语法”
如果可以在我搜索答案时识别出错误,我将不胜感激,但这个查询超出了我的范围。
提前致谢