zoukankan      html  css  js  c++  java
  • mysql--sql_mode报错整理

     1、在5.7版本以上mysql中使用group by语句进行分组时, 如果select的字段 , 不是完全对应的group by后面的字段 , 有其他字段 , 那么就会报这个错误

    ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column

    查看sql_mode 

    select @@sql_mode;

    mysql> select @@sql_mode;

    可以看到有一个ONLY_FULL_GROUP_BY , 这个就是严格控制group by 和select 字段的 , 在不改变sql语句的前提下 , 把这个去掉就可以了

    set  @@global.sql_mode = '其他值';

    2、Mysql ERROR 1067: Invalid default value for ‘date’ 解决

    如果create table 时指定的engine项不被支持,这个时候mysql会支持报错

     修改sql_mode 的值,如果没有则添加 NO_ENGINE_SUBSTITUTION

    set  @@global.sql_mode = '原来的值,NO_ENGINE_SUBSTITUTION';

    3、数据插入报错Incorrect integer value: '' for column

    mysql版本到5以上的都会遇到这样的问题,插入空字符要使用NULL

    默认为sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",  

    将其修改为sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",重启mysql后即可

    sql_mode 的其他值说明:https://blog.csdn.net/wyzxg/article/details/8787878

  • 相关阅读:
    吴恩达深度学习与神经网络
    吴恩达机器学习的ppt以及作业编程练习题答案(别人总结的)
    关于机器学习的小科普
    质因数分解
    FFT
    Luogu P1262 间谍网络
    关于次短路
    Luogu P1955 [NOI2015]程序自动分析
    Luogu P1041传染病控制
    Bzoj 1731 POJ 3169 Luogu P4878 Layout
  • 原文地址:https://www.cnblogs.com/f-rt/p/11141424.html
Copyright © 2011-2022 走看看