• 修改配置文件:my.ini


    SELECT c.TNAME
    FROM score a,course b,teacher c
    WHERE a.CNO=b.CNO
    AND b.TNO=c.TNO
    GROUP BY a.CNO
    HAVING COUNT(a.CNO)>5
    

    错误:error : Expression #6 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'billing.view_dat_sdr_201903.source' which is not functily dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

    查询后发现是因为“sql_mode=only_full_group_by”导致出错

    1、通过cmd更改sql_mode

    set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

    重启后还是会恢复

    2、更改配置文件my.ini

    原安装文件里没有,自己在根目录下新建

    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8 
    [mysqld]
    #设置3306端口
    port = 3306 
    # 设置mysql的安装目录
    basedir=D:mysqlmysql-8.0.11-winx64
    # 设置mysql数据库的数据的存放目录
    datadir=D:mysqlmysql-8.0.11-winx64/data
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    
    sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

    重启依然有效。OK!

     下的破解版,文件不是很规范,根目录里没有my.ini,只有bin文件夹里有my.ini.txt,重命名为my.ini并加上sql_mode后并不能起作用,还是得放到根目录下,然而放到根目录下之后MySQL不能启动,后发现是

    basedir和datadir未下载时默认的位置,是错的,更改后就好了~
  • 相关阅读:
    1046 A^B Mod C
    1019 逆序数
    1012 最小公倍数LCM
    1011 最大公约数GCD
    序列化
    bigdecimal
    equals 和hashcode
    java多线程-读写锁原理
    Java并发编程:volatile关键字解析
    面试
  • 原文地址:https://www.cnblogs.com/soberkkk/p/12547586.html
Copyright © 2020-2023  润新知