惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
宝玉的分享
宝玉的分享
V
Visual Studio Blog
B
Blog RSS Feed
G
Google Developers Blog
U
Unit 42
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Palo Alto Networks Blog
月光博客
月光博客
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
L
LINUX DO - 最新话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
小众软件
小众软件
GbyAI
GbyAI
L
LangChain Blog
A
About on SuperTechFans
Attack and Defense Labs
Attack and Defense Labs
T
Tor Project blog
AWS News Blog
AWS News Blog
S
Security @ Cisco Blogs
H
Hacker News: Front Page
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
The Register - Security
The Register - Security
Recorded Future
Recorded Future
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
V2EX - 技术
V2EX - 技术
H
Heimdal Security Blog
Simon Willison's Weblog
Simon Willison's Weblog
Y
Y Combinator Blog
Spread Privacy
Spread Privacy
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
WordPress大学
WordPress大学
P
Privacy International News Feed
I
Intezer
W
WeLiveSecurity
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Help Net Security
Help Net Security
NISL@THU
NISL@THU
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
V
Vulnerabilities – Threatpost
N
News | PayPal Newsroom
Security Archives - TechRepublic
Security Archives - TechRepublic
Google DeepMind News
Google DeepMind News
The Hacker News
The Hacker News
L
Lohrmann on Cybersecurity
Schneier on Security
Schneier on Security

博客园 - SHENHUANJIE

Marvis 使用进阶:联动与外部资源整合 这是一篇用 Marvis发布的文章,让大家都去用 Marvis 程序员保持高效的5个习惯 Kimi WebBridge:让 AI 真正操控你的浏览器 腾讯突然扔出王炸!马维斯一夜刷屏,打工人终于有救了? AIGC-测试库账号密码 openspec 是什么?怎么正确使用? # Hello World 的传奇起源 Please Start Here AI助手记忆系统:从金鱼到大象的进化之路 mac 快速切换 python 版本 卢曼卡片盒笔记法介绍 Introduction to the Zettelkasten Method Uni-app页面信息与元素影响解析 DevOps 入门指南:基础知识解读 「读书计划」《啊哈!算法》7日结构化学习规划 Java RestTemplate 发送 POST 请求设置请求体示例 跨平台开发方案:优缺点对比及选择指南 Java实现简单多层感知器神经网络 Google开发者账号注册步骤详解 ipify.org:免费IP查询服务详解 Google开发者利器:云平台与Firebase服务解析 Google Fonts字体库使用指南 UNI-APP + Spring Boot 实现小程序手机号登录 UNI-APP 获取用户手机号授权与服务器端处理指南 平衡工作与生活的10个实用方法 Linux安装Ollama并启用服务教程 如何在 LobeChat 中使用 Ollama Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.
MySQL 8.0 如何禁用 ONLY_FULL_GROUP_BY
SHENHUANJIE · 2025-01-15 · via 博客园 - SHENHUANJIE

  在 MySQL 8 中,ONLY_FULL_GROUP_BY​ 是默认启用的 SQL 模式之一。如果你希望禁用 ONLY_FULL_GROUP_BY​,可以通过以下几种方式实现:

方法 1:临时禁用(仅对当前会话有效)

  你可以通过修改当前会话的 sql_mode​ 来临时禁用 ONLY_FULL_GROUP_BY​。

步骤:

  1. 查看当前的 sql_mode​:

    SELECT @@sql_mode;
    

    输出可能类似于:

    ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
    
  2. 移除 ONLY_FULL_GROUP_BY​:

    SET SESSION sql_mode = (SELECT REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', ''));
    
  3. 验证是否已移除:

    SELECT @@sql_mode;
    

    输出中不应再包含 ONLY_FULL_GROUP_BY​。

方法 2:全局禁用(对所有会话有效)

  如果你希望全局禁用 ONLY_FULL_GROUP_BY​,可以修改全局的 sql_mode​。

步骤:

  1. 查看当前的全局 sql_mode​:

    SELECT @@GLOBAL.sql_mode;
    
  2. 移除 ONLY_FULL_GROUP_BY​:

    SET GLOBAL sql_mode = (SELECT REPLACE(@@GLOBAL.sql_mode, 'ONLY_FULL_GROUP_BY', ''));
    
  3. 验证是否已移除:

    SELECT @@GLOBAL.sql_mode;
    

方法 3:通过配置文件永久禁用

  如果你希望永久禁用 ONLY_FULL_GROUP_BY​,可以通过修改 MySQL 配置文件来实现。

步骤:

  1. 打开 MySQL 配置文件:

    • Linux 系统:/etc/my.cnf​ 或 /etc/mysql/my.cnf
    • Windows 系统:my.ini
  2. 找到 [mysqld]​ 部分,修改或添加 sql_mode​ 配置项,移除 ONLY_FULL_GROUP_BY​。例如:

    [mysqld]
    sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
    
  3. 保存文件并重启 MySQL 服务:

    • Linux 系统:

      sudo systemctl restart mysql
      
    • Windows 系统:
      通过服务管理器重启 MySQL 服务。

  4. 验证是否生效:

    SELECT @@sql_mode;
    

注意事项

  1. 数据准确性:禁用 ONLY_FULL_GROUP_BY​ 后,MySQL 允许在 GROUP BY​ 查询中使用未明确分组的非聚合列。这可能导致查询结果不确定或不准确,因此需要谨慎使用。
  2. 生产环境:在生产环境中,建议保持 ONLY_FULL_GROUP_BY​ 启用,以确保查询的准确性和一致性。
  3. 兼容性:禁用 ONLY_FULL_GROUP_BY​ 后,某些在严格模式下会报错的查询可能会正常运行,但结果可能不符合预期。

总结

  • 临时禁用:使用 SET SESSION sql_mode​。
  • 全局禁用:使用 SET GLOBAL sql_mode​。
  • 永久禁用:修改 MySQL 配置文件并重启服务。

  根据你的需求选择合适的方法,但请务必注意禁用 ONLY_FULL_GROUP_BY​ 可能带来的数据准确性问题。