在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模式,这个模式默认是打开的,不允许产生伪日期,所以要关掉这个选项。执行SQL语句:

set global sql_mode=’STRICT_TRANS_TABLES,STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER’;

使用show variables like ‘%sql_mode%’;查看关于sql_mode的变量,如果没有NO_ZERO_IN_DATE和NO_ZERO_DATE就说明修改成功


上面的也许有用:但楼主是因为mysql时间类型为timestamp,因此导致1292

MYSQL timestamp取值范围是 1970-01-01 00:00:00 到 2038-01-19 3:14:07
TIMESTAMP和DATETIME的取值范围不同同时存储不同,
TIMESTAMP占四个字节取值范围为 1970-01-01 00:00:00 到 2038-01-19 3:14:07
那么为什么是这个取值范围呢 4个字节明显不够存储日期格式。4字节为2^32次方
那么我们可以分析timestamp实际是C语言的一个INT 类型带符号位的。
用ORACLE的格式算出来为

SQL> select to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')+(power(2,31)-1)/(60*60*24) from dual;
TO_DATE('1970-01-0100:00:00','
------------------------------
2038/1/19 3:14:07

2^31是因为带了符号位少了一位。所以是31次方,而减一因为从0开始而不是1,比如2的8次方为256但是实际的数值是0~255(FF)
可以想到TIMESTAMP实际是一个相加的过程 他存储在内部格式是一个表示秒的 int类型 带符号位

MySQL运行存储过程出现1292错误相关推荐

  1. linux mysql 创建存储过程_linux系统下无法创建mysql存储过程问题

    创建存储过程的完整命令: CREATE PROCEDURE pro1() begin declare b int default 0; end; mysql中运行存储过程创建语句错误结果: root@ ...

  2. mysql 存储过程 错误码_mysql存储过程中的错误处理_mysql

    mysql存储过程中的异常处理 http://www.cnblogs.com/cookiehu/p/4994278.html 定义异常捕获类型及处理方法: DECLAREhandler_action ...

  3. mysql创建存储过程权限问题

    首先,在mysql存储过程出现的同时,用户权限也增加了5种,其中和存储过程有关的权限有 三种: ALTER ROUTINE 编辑或删除存储过程 CREATE ROUTINE 建立存储过程 EXECUT ...

  4. MySQL 之 存储过程

    一.初识存储过程 1.什么是存储过程 存储过程是在大型数据库系统中一组为了完成特定功能的SQL语句集,存储在数据库中.存储过程经过第一次编译后,再次调用不需要编译,用户可以通过指定的存储过程名和给出一 ...

  5. mysql 查询存储过程 速度_查询mysql过程

    MySql 使用explain分析查询 今天写了个慢到哭的查询,想用explain分析下执行计划,后来发现explain也是有局限性的: EXPLAIN不会告诉你关于触发器.存储过程的信息或用户自定义 ...

  6. mysql执行存储过程报错1366_花花蘑菇

    编辑 删除 mysqld_multi安装多个mysql实例 一个机器上安装多个mysql实例,除了将每个实例在不同的目录下编译安装,为每个实例指定不同的端口,socket,配置文件,安装目录等.还可以 ...

  7. MySQL 05 存储过程

    MySQL 05 存储过程 文章目录 MySQL 05 存储过程 一.学习目标 二.存储过程 2.1为什么需要使用存储过程 2.2什么是存储过程 2.3存储过程的优缺点 三.创建存储过程 3.1语法与 ...

  8. mysql %type_mysql 存储过程 %type

    MYSQL修改存储过程的访问权限 版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.csdn.net/inforstack/article/details/80547478 ...

  9. mysql之 日志体系(错误日志、查询日志、二进制日志、事务日志、中继日志)...

    一. mysql错误日志: 错误日志记录的事件: a).服务器启动关闭过程中的信息 b).服务器运行过程中的错误信息 c).事件调试器运行一个事件时间生的信息 d).在从服务器上启动从服务器进程时产生 ...

最新文章

  1. 快上车!“正经”文章告诉你如何构建与使用分布式中间件平台实践
  2. 基于经验的SOA成功原则
  3. linux中lvs命令详解,LVS之三:ipvsadm常用管理命令介绍 | 旺旺知识库
  4. 人才短缺、成本高昂,制造企业智能化转型路径如何破局?
  5. 投资学习网课笔记(part1)--基金第一课
  6. 近期资料分享汇总,还不快来看看你漏了哪份没拿?
  7. 隐隐约约 听 RazorEngine 在 那里 据说 生成代码 很 美。
  8. TypeScript 元组(Tuple)
  9. 10-Bootstrap Checksedit
  10. 类的实例属性和类属性的区别
  11. KVM虚拟化基础概念
  12. 死锁问题分析(个人认为重点讲到了gap间隙锁,解决了我一些不明报死锁的问题)
  13. exchange无法收发邮件_MAPI session超过Exchange最大限制,邮件发送失败的终极解决方法...
  14. 压力测试工具Siege详解
  15. CodeForce-476D-Dreamoon and Sets
  16. Java学习路线-20:正则表达式
  17. word英文大写问题解决方案
  18. Linux—常用十大命令
  19. 初探 MacBook Pro 刘海屏
  20. c语言的实训报告,C语言实训报告.doc

热门文章

  1. 微信支付 php简单源码,php微信支付相关源码
  2. 为啥不能用比特币给贪官送礼?
  3. PHP给源代码加密的几种方法
  4. 武汉理工大学操作系统 课内实验
  5. 学习笔记----SLAM的概论与架构
  6. 一个简单的Java程序:My first Java!
  7. 【Flink实战系列】Flink SQL 之 Session Window 的用法
  8. java 多线程 从无到有_多线程断点续传(简单demo)——从无到有
  9. android编程高级教程 pdf,Android多媒体开发高级编程
  10. 京东高效转链API接口—商品优惠券二合一转链—京东联盟优惠券如何转链?