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

  • 相关阅读:
    冒泡排序
    选择排序
    算法分析(54页)
    算法设计分析(44页)
    算法设计分析(44页)
    数据结构——算法设计(12页)方案三
    数据结构——算法设计(12页)方案三
    区间dp
    区间dp
    动态规划的进一步理解
  • 原文地址:https://www.cnblogs.com/f-rt/p/11141424.html
Copyright © 2011-2022 走看看