【问题标题】:Mysql 4.0.30 Error 1046... but working on 5.5!Mysql 4.0.30 错误 1046 ......但在 5.5 上工作!
【发布时间】:2011-04-11 11:01:35
【问题描述】:

在我们的开发服务器上,我们有 MySql 5.5 版,但在生产服务器(来自 aruba.it)上,我们有 Mysql 4.0.30。 导致问题的 SQL 查询是:

选择 r.iduser,ra.desapp, r.cognom,f.desfig, r.fl_dip, (选择 sum(o.numore)/8 来自 OreConsuntive o, Prjtask pt, Prjprogetti pp, Prjordini po 其中 o.IDuser = '54' 和 o.dt_cns >= '20110101' 和 o.dt_cns 'CSA' group by o.numore) 作为 TOTGIORNIFATTMESE FROM Risorse r,图 f,RisorsaArea ra 其中 r.codfig=f.codfig 和 r.areapp=ra.codapp AND r.IDuser='54' ORDER BY r.areapp desc

我会尝试只执行这部分

选择 sum(o.numore)/8 来自 OreConsuntive o, Prjtask pt, Prjprogetti pp, Prjordini po 哪里 o.IDuser = '54' 和 o.dt_cns >= '20110101' 和 o.dt_cns 'CSA' group by o.数

它似乎工作! 问题可能是由 annidated select 引起的吗? 如何修改我的查询以在 mysql 4.0.30 上获得有效的查询?

非常感谢! 大卫

【问题讨论】:

    标签: mysql


    【解决方案1】:

    4.1 之前的 MySQL 版本不支持子查询。您将不得不重写您的查询以避免这种情况。

    不幸的是,在你的情况下,我不能轻易告诉你如何做到这一点,但请尝试阅读 http://dev.mysql.com/doc/refman/4.1/en/rewriting-subqueries.html - 它可能会帮助你重写它。

    我不知道您的特定主机,但如果他们无法将您升级到更新的 MySQL,您应该尝试降级您的开发服务器以运行与生产服务器相同的版本 - 自 4.0 以来很多事情都发生了变化,尽早发现它们可能是个好主意。

    【讨论】:

      猜你喜欢
      • 2012-10-10
      • 2012-04-07
      • 2016-11-24
      • 2021-08-25
      • 2018-04-17
      • 2012-02-22
      • 2017-11-18
      • 2011-08-12
      • 2012-11-30
      相关资源
      最近更新 更多