【问题标题】:Why should not disable ONLY_FULL_GROUP_BY为什么不应该禁用 ONLY_FULL_GROUP_BY
【发布时间】:2021-02-25 16:09:08
【问题描述】:

在互联网搜索过程中,我看到很多关于禁用ONLY_FULL_GROUP_BY 功能的问题,因此这意味着很多开发人员在这种严格模式下编写 SQL 查询时遇到了麻烦。

我知道禁用此限制非常简单,但现在我问: 我为什么不应该这样做?

取消ONLY_FULL_GROUP_BY限制会带来什么问题或副作用?

【问题讨论】:

标签: mysql group-by aggregation


【解决方案1】:

如果没有ONLY_FULL_GROUP_BY 强制执行的严格性,您可以:

  • 没有意识到您的查询有误;
  • 得到一些没有特定含义的列;
  • 您得到的结果可能不是 出现在不同的服务器上,或在下一次升级时,或当 查询计划更改(添加/删除/更新数据)。

所以听ONLY_FULL_GROUP_BY。它强烈警告您的查询不正确。错误只是说您的 GROUP BY 子句与返回的结果集不兼容。其他数据库默认强制执行,因此其用户编写的 SQL 更好。

忽略警告就像网络开发人员chmod a+rwx,因为他们无法计算文件权限。花点时间了解你工作的环境,你会获得更好的体验。下一个查看 SQL 的人(可能是您未来的自己)也会如此。

【讨论】:

    猜你喜欢
    • 2014-07-18
    • 2018-05-17
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 2020-08-22
    • 1970-01-01
    相关资源
    最近更新 更多