当前位置: 首页 > wzjs >正文

网页设计素材资讯seo学校

网页设计素材资讯,seo学校,网站做外链好不好,网络营销的5种方式你提供的 sql_mode 设置如下: STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION这是一个常见的 MySQL 配置,去掉了 ONLY_FULL_GROUP_BY,因此你的查询应该可以正常运行。以下是关于这些…

你提供的 sql_mode 设置如下:

STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

这是一个常见的 MySQL 配置,去掉了 ONLY_FULL_GROUP_BY,因此你的查询应该可以正常运行。以下是关于这些模式的详细解释以及如何确保它们生效的方法:


1. 当前 sql_mode 的含义

  • STRICT_TRANS_TABLES
    启用严格模式,对事务性存储引擎(如 InnoDB)进行严格的 SQL 检查。如果数据插入或更新违反约束(如超出列长度),MySQL 将报错而不是尝试调整数据。

  • NO_ZERO_IN_DATE
    禁止日期字段中出现零值部分(例如 2023-00-122023-12-00)。

  • NO_ZERO_DATE
    禁止使用全零日期(例如 0000-00-00)。

  • ERROR_FOR_DIVISION_BY_ZERO
    在除以零时生成错误或警告。如果没有启用严格模式,这只会生成警告。

  • NO_ENGINE_SUBSTITUTION
    如果指定的存储引擎不可用,则会抛出错误,而不是自动替换为默认存储引擎。

  • **ONLY_FULL_GROUP_BY **
    所有非聚合列必须出现在 GROUP BY 子句中。
    或者,这些列必须通过聚合函数(如 COUNT()、SUM() 等)进行处理。

注意:这个配置中 ONLY_FULL_GROUP_BY,因此 GROUP BY 查询强制要求所有非聚合列都出现在 GROUP BY 子句中。


如果你的查询不符合上述规则,就会触发错误,例如:

[Err] 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.id' which is not functionally dependent on columns in GROUP BY clause.

解决方法
方法 1:移除 ONLY_FULL_GROUP_BY

2. 确保设置生效

(1) 查看当前会话的 sql_mode

在当前会话中运行以下命令,确认 sql_mode 是否已更新:

SELECT @@sql_mode;

输出应为:

STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

如果输出中仍然包含 ONLY_FULL_GROUP_BY,说明当前会话的设置未生效。

(2) 更新当前会话的 sql_mode

如果你已经设置了全局的 sql_mode,但当前会话未更新,可以手动设置当前会话的 sql_mode

SET SESSION sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
(3) 验证全局设置

如果你想确认全局的 sql_mode 是否已正确设置,可以运行以下命令:

SELECT @@global.sql_mode;

输出也应该是:

STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

3. 测试查询

现在你可以重新运行你的查询:

SELECT * 
FROM test 
GROUP BY c;

由于 ONLY_FULL_GROUP_BY 已被移除,查询应该可以正常执行。不过需要注意的是,直接使用 SELECT *GROUP BY 可能会导致结果不符合预期,因为未在 GROUP BY 中列出的列可能会返回任意值。


4. 推荐优化查询

为了避免潜在的问题,建议明确列出需要的列,并合理使用聚合函数。例如:

SELECT c, COUNT(*) AS count
FROM test
GROUP BY c;

或者使用 ANY_VALUE() 函数来处理未分组的列:

SELECT ANY_VALUE(id), c
FROM test
GROUP BY c;

5. 总结

  • 确保当前会话的 sql_mode 已更新为:
    STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
    
  • 如果需要永久生效,修改 MySQL 配置文件并重启服务。
  • 优化查询语句,避免直接使用 SELECT * 和不明确的 GROUP BY

如果仍有问题,请随时告诉我!

http://www.dtcms.com/wzjs/24558.html

相关文章:

  • 广东建设信息网站免费推广有哪些
  • 网站打开速度慢优化网络营销论文
  • 网站开发与网站制作怎么引流到微信呢
  • 2018年网站风格百度网盘登录入口网页版
  • 苏州公司排名潍坊seo网络推广
  • 公司做网站开发流程网站域名购买
  • 赚钱做任务的网站有哪些搜索引擎有哪些
  • 大型门户网站建设是什么seo公司推荐推广平台
  • 网站响应式技术seo研究中心论坛
  • 主题资源网站建设步骤站长工具友链查询
  • 金华做企业网站公司如何做好品牌宣传
  • 做网站一般要了解哪些自动app优化
  • 美颜秘籍网站建设许昌网站推广公司
  • 网站怎么快速做收录做市场推广应该掌握什么技巧
  • 网站开发背景和目的百度公司地址
  • 网站防红怎么做的百度推广多少钱
  • 一站式建设网站百度推广的效果
  • 网站关键词是什么漳州seo网站快速排名
  • 和男人人做的网站河南网站建设公司哪家好
  • 免费qq注册入口seo概念的理解
  • 手机购物网站制作免费发布信息网网站
  • 网站建设中无码视频网站排名优化方法
  • 优秀品牌形象设计案例合肥网络公司seo
  • 上海服装贸易公司排名一键优化清理
  • 建设一个网站需要什么安全设备视频营销的策略与方法
  • 网站维护与建设ppt微信推广软件哪个好
  • 网站建设总体方案设计合肥网络公司排名
  • 瑜伽 网站模板百度公司官网
  • 广州 网站制google搜索app下载
  • 电脑如何建立网站优化大师官方正版下载