首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从mysql到MariaDB的MySQL查询问题

从mysql到MariaDB的MySQL查询问题
EN

Stack Overflow用户
提问于 2019-02-28 00:39:12
回答 2查看 124关注 0票数 3

目前,我正在使用旧的mysql函数从PHP 5移植一个网站,因此我基本上从用新mysqli函数替换所有mysql函数开始,并立即消除了大部分问题。问题是,有一个mysql查询不再工作了,我不明白为什么,如下所示:

代码语言:javascript
复制
    SELECT *
    FROM { 
      OJ `tableA`.`tableA`
      LEFT OUTER JOIN `tableB`.`tableB` ON `tableA`.`idA` = `tableB`.`idA`
    }
    LEFT JOIN tableC ON tableC.idC = tableB.idC
    LEFT JOIN tableD ON tableD.idD = tableC.idC
    WHERE something in ('tableA','tableB')
    ORDER BY column1, column2

错误说:

错误代码: 1064。您的SQL语法有错误;请检查与您的MariaDB服务器版本相对应的手册,以便在第6行使用接近'LEFT ON tableC .idC = tableB.idC‘的右语法。

我想说的是,我没有创建这个网站,也不知道是谁做的,我只是负责将它移植到新版本的PHP。所以我不能确定这个查询是关于什么的,但是我不认为我会遇到这样的问题。而且,我不太熟悉这个OJ {}的写作,所以我不知道如何替换它,以防它是这里的问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-28 01:18:41

MariaDB的OPs修复方法是:

代码语言:javascript
复制
SELECT *
FROM tableA
LEFT OUTER JOIN tableB.tableB ON tableA.idA = tableB.idA
LEFT JOIN tableC ON tableC.idC = tableB.idC
LEFT JOIN tableD ON tableD.idD = tableC.idC
WHERE something in ('tableA','tableB')
ORDER BY column1, column2

好的,我通过移除花括号和OJ来修正它,并简单地从tableA上写.-西蒙13分钟前

票数 2
EN

Stack Overflow用户

发布于 2019-02-28 01:08:25

MariaDB解析器在大括号中似乎只有一个table_ref

MySQL手册解析器也有一个更简单的定义。

如果您要MariaDB支持更广泛的格式,则可以创建一个错误报告

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54916663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档