mysql - Sql 查询在 Mysql 版本 5.5.16 中不起作用

标签 mysql

我正在尝试执行以下查询:

$query = "SELECT O. * AS NUM FROM (ab_order O)
    LEFT JOIN ab_user U ON (O.id_user=U.id)
    WHERE O.id IN ( SELECT OT.id_ab_order FROM ab_order_transaction OT
        LEFT JOIN ab_transaction T ON (OT.id_ab_transaction = T.id)
    LEFT JOIN ab_user U ON (T.id_user = U.id) 
    WHERE T.validated = 1 {$condTrans} ) {$condOrder}
    ORDER BY {$orderCol} LIMIT $from, $numRecords ";
$queryDB = $DB->queryExec($query);

在实时服务器上:

  • 它适用于 MySql 版本 3.3.10。
  • PHP 版本 5.2.17。

但我需要使用本地主机:

  • 适用于 Linux 的 XAMPP,版本 1.7.7
  • PHP 5.3.8
  • MySql 版本 5.5.16。

在本地主机上它说:

MySQL error: 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS NUM
FROM (ab_order O)
LEFT JOIN ab_u' at line 1.

还有比升级实时服务器Mysql数据库更简单的方法吗?

最佳答案

所有列的别名似乎不正确:SELECT O. * AS NUM。我不确定为什么它可以在以前的版本上工作,但是应该删除 as num ,或者应该为每列显式指定别名。

关于mysql - Sql 查询在 Mysql 版本 5.5.16 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10707792/

相关文章:

python - 在 OS X 上使用 Django 加载 MySQLdb 模块时出错

Mysql创建新用户: is omitting "@<host>" part OK when remote access will always use an ssh shell?

java - JDBC 字符编码

python - python 通过两个函数维护列表

php - 与数据库链接的文件的文件结构

MySQL 搜索查询?

mysql - 有没有办法通过使用时间戳进行比较来删除最近的行

php - 如何使用php从sql显示不带0小数的双 float

MySQL 查询,其中数据显示在行而不是列中

mysql - 自加入总和字段