美文网首页
Mysql only_full_group_by以及其他关于sq

Mysql only_full_group_by以及其他关于sq

作者: cuihaomaster | 来源:发表于2019-03-29 17:29 被阅读0次

    MySQL-"this is incompatible with sql_mode=only_full_group_by"错误解决方案

    1.使用navicat 打开数据库,然后工具-->命令列界面
    2.然后输入:SELECT @@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

    解决办法:

    1.修改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"
    2.重启

    验证是否解决:

    1.navicat 工具-->命令列界面,然后输入:SELECT @@sql_mode;
    2.看到值为:
    STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

    至此,你不用遵守:如下约定了:
    对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中,所以对于设置了这个mode的数据库,在使用group by 的时候,就要用MAX(),SUM(),ANT_VALUE()这种聚合函数,才能完成GROUP BY 的聚合操作。

    相关文章

      网友评论

          本文标题:Mysql only_full_group_by以及其他关于sq

          本文链接:https://www.haomeiwen.com/subject/vwlrbqtx.html