【问题标题】:Error - An alias was previously found错误 - 以前发现了一个别名
【发布时间】:2017-07-05 00:13:28
【问题描述】:

之前找到了一个别名。 (在位置 42 的“SUM”附近)这个错误

$qry2="SELECT count(".$rows->name.") AS count, SUM (".$rows->name.") As SUM FROM module4piechart";

Here the CODE HERE THE ERROR

【问题讨论】:

  • 错误是什么?
  • 不要使用别名作为 SUM,因为它的关键字
  • 那里有我的照片,帮帮我,伙计
  • 您的查询由于某种原因而失败,因此您尝试获取结果时会出现此错误。
  • 首先 echo $qry2;复制粘贴并直接在您的数据库中运行

标签: mysql


【解决方案1】:

不要使用关键字作为别名并遵循#San Lin Naing 答案。

根据您的评论错误,我对此进行了一些澄清

MySQL 说:文档 #1630 - FUNCTION mydb.SUM 不存在。检查参考手册中的“函数名称解析和解析”部分

SELECT count(HTML) AS count1 ,SUM(HTML) As SUM1 FROM module4piechart

MySQL 不接受函数名和括号之间的空格(除非您设置了 SQL_MODE=IGNORE_SPACE 但这会给您带来其他不良副作用)

使用单引号将关键字转义

$qry2="SELECT count(".$rows->name.") AS 'count' ,SUM (".$rows->name.")As 'SUM' FROM module4piechart";

【讨论】:

    【解决方案2】:

    您使用了countSUM 作为别名。实际上,countSUM 是 SQL Keyword。您应该避免在 SQL 查询中使用 Keyword

    如果要通过转义使用Keyword作为别名,则必须用'单引号或"双引号引起来。您还可以使用` 重音符来转义SQLiteMySQL 中的关键字。

    对于您的查询,

    $qry2="SELECT count(".$rows->name.") AS 'count' ,SUM (".$rows->name.")As 'SUM' FROM module4piechart";
    

    $qry2="SELECT count(".$rows->name.") AS `count` ,SUM (".$rows->name.")As `SUM` FROM module4piechart";
    

    也可以工作。

    作为另一种选择,您可以将别名更改为其他名称,例如 count_namesum_name

    【讨论】:

    • 同样的问题不能
    猜你喜欢
    • 2016-11-27
    • 2022-06-14
    • 2018-10-01
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-12
    相关资源
    最近更新 更多