我们刚将一个数据库从4.1.22服务器迁移到5.5.24服务器。它为此查询提供了错误:
... FROM node n INNER JOIN node_access na ON na.nid = n.nid INNER JOIN event e USING (nid)..
错误是:
ERROR 1052 (23000): Column 'nid' in from clause is ambiguous
目前很难更改查询。我们想知道是否有可能使MySQL 5.5.24模拟4.1.22接受该查询。我们已经研究过sql_mode,它似乎不是我们正在寻找的东西。
答案 0 :(得分:0)
如果可行的话,通过将USING改为" ON"来进行查询重写。列值。 但是,如果查询重写不是一个选项,我不认为可以将SQL标准更改为较旧的SQL:99(由MYSQL 4使用)。
答案 1 :(得分:0)
简单的回答:这是不可能的。
您可以尝试在两者之间添加代理来重写查询,但最好的解决方案是更改应用程序中的查询。