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

推荐订阅源

F
Fortinet All Blogs
V2EX - 技术
V2EX - 技术
The Last Watchdog
The Last Watchdog
宝玉的分享
宝玉的分享
T
Tenable Blog
WordPress大学
WordPress大学
K
Kaspersky official blog
Microsoft Security Blog
Microsoft Security Blog
大猫的无限游戏
大猫的无限游戏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Hacker News - Newest:
Hacker News - Newest: "LLM"
P
Palo Alto Networks Blog
Help Net Security
Help Net Security
V
Vulnerabilities – Threatpost
Know Your Adversary
Know Your Adversary
C
CXSECURITY Database RSS Feed - CXSecurity.com
A
Arctic Wolf
Forbes - Security
Forbes - Security
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
H
Hacker News: Front Page
W
WeLiveSecurity
博客园 - 【当耐特】
G
Google Developers Blog
Martin Fowler
Martin Fowler
TaoSecurity Blog
TaoSecurity Blog
Hacker News: Ask HN
Hacker News: Ask HN
人人都是产品经理
人人都是产品经理
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
AI
AI
N
Netflix TechBlog - Medium
C
Cisco Blogs
I
Intezer
aimingoo的专栏
aimingoo的专栏
博客园 - 聂微东
G
GRAHAM CLULEY
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
MyScale Blog
MyScale Blog
L
Lohrmann on Cybersecurity
Engineering at Meta
Engineering at Meta

博客园 - 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​ 可能带来的数据准确性问题。