zoukankan      html  css  js  c++  java
  • 1292

           上次在navicat上远程连接MySQL,运行存储过程时传入了一个时间参数‘0000-00-00 00:00:00’,发生如下错误:

     1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'targetTime' at row 1,官方文档上说明MySQL允许将

    ’0000-00-00’保存为“伪日期”,但是MySQL有一个NO_ZERO_DATE SQL模式,这是mysql5.7版本以后出现的(具体是版本问题引起的),这个模式默认是打开的,不允许产生伪日期,所以要关掉这个选项。执行SQL语句:

    select @@global.sql_mode ,可以看到NO_ZERO_DATE SQL,然后执行SET GLOBAL sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

    然后执行show variables like '%sql_mode%'; 来查看是否存在查看关于sql_mode的变量,如果没有NO_ZERO_IN_DATE和NO_ZERO_DATE就说明修改成功,最后一定要记得net start mysql,刷新你的表和数据库,然后就可以解决了。

    直接上命令:

      select @@global.sql_mode
      SET GLOBAL sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
      show variables like '%sql_mode%';
      net start mysql 

      刷新!!!!!  

      参考1:https://www.jb51.net/article/155013.htm  

      参考2:https://blog.csdn.net/coder_slsu/article/details/88415476

    ps:博客写的很烂,大家多批评交流。。。。。

  • 相关阅读:
    操盘策略:判断强庄股的四个诀窍
    三类股有望继续走强
    操盘策略:股市空头陷阱五大招数
    每日一招:面对亏损我们应该如何操作(鳄鱼法则)
    (转)一个大户的自白:我是这样被两融打爆的
    3.2、迭代
    3.1、切片
    2.4、递归函数
    2.3、函数的参数
    2.2、定义函数
  • 原文地址:https://www.cnblogs.com/11120511cmd/p/12428030.html
Copyright © 2011-2022 走看看