MySQL中别名“as rows”失效,SQL语句报1064错误求助
问题分析与解决方案
rows确实是MySQL的保留关键字,在部分版本中直接将其用作别名会触发语法错误。- 你的查询之前正常运行、现在报错,大概率是运行环境的MySQL完成了版本升级,或者启用了严格SQL模式——低版本或非严格模式下允许将保留字当作标识符使用,升级或开启严格模式后就会拦截这类非标准写法。
- 解决办法很直接,给别名
rows加上反引号包裹,修改后的SQL如下:SELECT ..., (SELECT count(id) FROM table2) as `rows` FROM table1; - 加了反引号后,MySQL会把
rows识别为普通别名而非保留关键字,查询就能正常执行了。
内容的提问来源于stack exchange,提问作者user2342558
相关产品推荐
相关产品推荐

