老师我进行group by 就报错

老师我进行group by 就报错

mysql> select @@global.sql_mode;
+-----------------------------------------------------------------------------------------------------------------------+
| @@global.sql_mode                                                                                                     |
+-----------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |
+-----------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> set @@global.sql_mode
    -> ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'
mysql>


正在回答

登陆购买课程后可参与讨论,去登陆

5回答

同学你好,

你这个并没有修改成功呢,建议同学找到mysql的配置文件my.ini,然后将以下语句写入文件中:

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

select @@global.sql_mode

祝学习愉快~

  • 薛定谔的猫迷 提问者 #1
    老师。mac 的mysql的配置文件是在哪里
    2019-10-13 11:44:27
  • 同学,可以登陆mysql,使用select @@basedir as basePath from dual 语句查询一下。祝学习愉快~
    2019-10-13 14:03:46
好帮手慕柯南 2019-10-12 15:33:07

同学,你好,

建议同学重新启动一个mysql服务,然后使用select语句查询一下看是否修改成功了

select @@global.sql_mode

祝学习愉快~

  • 提问者 薛定谔的猫迷 #1
    | @@global.sql_mode | +-----------------------------------------------------------------------------------------------------------------------+ | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION | +-----------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> 重启了就这样了
    2019-10-12 15:43:10
提问者 薛定谔的猫迷 2019-10-12 10:17:52
zhangyideMacBook-Pro:~ zhangyi$ mysql -u rooot -p;
Enter password: 
ERROR 1045 (28000): Access denied for user 'rooot'@'localhost' (using password: YES)
zhangyideMacBook-Pro:~ zhangyi$ mysql -u root -p;
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.17 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
Query OK, 0 rows affected (0.00 sec)

mysql> set @@session.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
zhangyideMacBook-Pro:~ zhangyi$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.17 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| imooc              |
| information_schema |
| king               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.02 sec)

mysql> use king;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT id,username,age,sex FROM user1
    -> GROUP BY sex;
ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'king.user1.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
mysql>


好帮手慕柯南 2019-10-12 10:04:01

同学你好!

从同学的报错信息来看,同学没有更改成功呢。

同学再使用select @@global.sql_mode;查看一下,应该还是ONLY_FULL_GROUP_BY,建议同学将@@session sql_mode也修改一下,比如:

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

更改之后查看一下看是否更改成功了。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 薛定谔的猫迷 #1
    更改了之后,重启后,还是不行
    2019-10-12 10:16:54
芝芝兰兰 2019-10-11 16:57:30

同学你好。你查询出的如下:

mysql> select @@global.sql_mode;
+-----------------------------------------------------------------------------------------------------------------------+
| @@global.sql_mode                                                                                                     |
+-----------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |
+-----------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

只需将其中的ONLY_FULL_GROUP_BY去掉后重新set进去即可:

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

如果解答了同学的疑问,望采纳~

祝学习愉快~

  • 提问者 薛定谔的猫迷 #1
    mysql> SELECT id,username,age,sex FROM user1 -> GROUP BY sex; ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'king.user1.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by mysql>
    2019-10-11 19:50:49
  • 提问者 薛定谔的猫迷 #2
    设置了,还是报错
    2019-10-11 19:51:58
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师