使MySQL 5.5.24接受为4.1.22设计的查询

时间:2014-05-21 18:56:14

标签: mysql join version compatibility

我们刚将一个数据库从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,它似乎不是我们正在寻找的东西。

2 个答案:

答案 0 :(得分:0)

如果可行的话,通过将USING改为" ON"来进行查询重写。列值。 但是,如果查询重写不是一个选项,我不认为可以将SQL标准更改为较旧的SQL:99(由MYSQL 4使用)。

答案 1 :(得分:0)

简单的回答:这是不可能的。

您可以尝试在两者之间添加代理来重写查询,但最好的解决方案是更改应用程序中的查询。