zoukankan      html  css  js  c++  java
  • mysql排坑指南--实时更新

    Mysql5.7 GROUP BY 报错

    把sql_mode 改成非only_full_group_by模式。验证是否生效 SELECT @@GLOBAL.sql_mode 或 SELECT @@sql_mode

    SET sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
    

    group by 提示警告问题

    警告信息

    com.MySQL.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'col_user_6.a.START_TIME' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
    

    原因:

    ​ sql_mode 默认设置了 ‘ONLY_FULL_GROUP_BY’

    查询时为严谨模式,除了group by字段以外的字段无法查询

    查询sql_mode

    select @@global.sql_mode
    

    结果:

    'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
    

    解决方案一

    ​ 更改sql_model 方式 去掉ONLY_FULL_GROUP_BY 即可

    set @@global ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
    

    重启数据库. windows 没有重启命令直接关闭数据库重启即可

    net stop mysql
    net start mysql
    

    set @global.sql_mode只对新建的库生效,对已经建好的库可以使用 set @sql_mode

    该方案的弊端是 数据库重启还是会回复到默认sql_mode。。。

    解决方案二

    修改配置文件 mysql数据库安装路径下的my.ini

    [mysqld]
    sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
    

    如果my.ini 中已经有了sql_mode,只需将 ‘ONLY_FULL_GROUP_BY’删掉即可。该项配置一定要是在[mysqld]下

    重启数据库. windows 没有重启命令直接关闭数据库重启即可

    net stop mysql
    net start mysql
    

    1、此次我使用的是win7系统,数据库采用的压缩包安装,my.ini文件是自己建立的,我已经开启了后缀名显示,但是win7系统默认勾选了 对已知文件类型隐藏后缀名,新建的my.ini 一定要看一下他的属性是不是my.ini 还是my.ini.txt

  • 相关阅读:
    SpringBoot security关闭验证
    BCryptPasswordEncoder 判断密码是否相同
    SpringBoot 通过jjwt快速实现token授权
    lombok的@Accessors注解3个属性说明
    lombok使用教程
    linux系统下将php和mysql命令加入到环境变量中的方法
    mysql常用的一些命令,用于查看数据库、表、字段编码
    配置windows 系统PHP系统环境变量
    MYSQL导入导出.sql文件
    windows下mysql 控制台操作
  • 原文地址:https://www.cnblogs.com/jokerBi/p/11208361.html
Copyright © 2011-2022 走看看