【问题标题】:MySQL Error "right syntax to use near '/*100,3), '%') AS `Percentage` FROM INFORMATION_SCHEMA.PROFILING"MySQL 错误“在 '/*100,3)、'%') AS `Percentage` FROM INFORMATION_SCHEMA.PROFILING 附近使用正确的语法”
【发布时间】:2011-05-23 05:29:59
【问题描述】:

我在尝试对大表执行查询后遇到了这个奇怪的错误:

您的 SQL 语法有错误; 检查对应的手册 您的 MySQL 服务器版本 在 '/*100,3) 附近使用正确的语法, '%') AS Percentage FROM INFORMATION_SCHEMA.PROFILING WHERE 第 1 行的 QUERY_ID='

什么意思?

EDIT == 这是查询

update cities w, states s set w.region_id = s.id 
where s.code = w.region and w.country_id = s.country_id 

city 表有大约 300 万个条目,states 表有大约 6000 个条目

为了记录,我使用 mysql 客户端 Navicat 执行了这个查询。

【问题讨论】:

  • 它是一个涉及两个表的更新查询 - 它适用于较小的表。
  • 您可以发布您的 SQL 查询的代码吗?听起来您的 SQL 语句中有语法错误。
  • 我知道这个项目是旧的,但我想在这里添加一个注释,以防其他人遇到这个错误,就像我今天早上对两个大表执行左连接时所做的那样。 Navicat 似乎不再工作,但实际上它仍在处理查询。如果您只是等待它,它将完成,或者至少会抛出一个有用的错误。上面列出的错误仅在您提前终止查询时发生。

标签: mysql sql mysql-error-1064 navicat


【解决方案1】:

SQL 支持 C 风格的 cmets:

/* ... */

所以看起来/*100,3 被解释为注释的开头,而该注释破坏了 SQL 其余部分的语法。

【讨论】:

  • @Ali:你启用profiling了吗?您的周围环境是否正在尝试访问分析信息?
  • 嗯我不确定 - 我如何检查以及为什么我应该启用它?
  • @Ali:在show variables; 中寻找“分析”。还可以尝试从mysql shell 运行您的 SQL。您可能还想在问题中包含有关如何访问 MySQL 的详细信息(即,什么语言、ORM、库......)。
  • 我在这里使用 Navicat MySQL 客户端...这对整个问题有影响吗?
  • @Ali:这可能涉及到。抱歉,我对 Navicat 一无所知。您应该将该信息添加到您的问题中,我为您添加了标签。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多