美文网首页
mysql中的TIMESTAMP类型引发的sql语句执行错误

mysql中的TIMESTAMP类型引发的sql语句执行错误

作者: 低级小码农 | 来源:发表于2018-07-20 23:47 被阅读0次

今天同学问了我一个奇怪的问题,他说他的sql语句导入不了,去看了一下原来是mysql中TIMESTAMP类型在5.5和5.6中发生了变化.


下面是官方的一些引用

5.5是这么紫说的

DATETIME或TIMESTAMP 值可以包括高达微秒(6位)精度的尾随小数秒部分。尽管识别了该小数部分,但是从存储在DATETIME或TIMESTAMP 列中的值中丢弃它 。有关MySQL 中小数秒支持的信息,请参见第11.3.6节“时间值中的小数秒”。无效的DATE,, DATETIME或 TIMESTAMP值将转换为适当类型(或)的 “ 零 ”值。 '0000-00-00''0000-00-00 00:00:00'


5.6.4以上是这么紫说的

DATETIME或TIMESTAMP 值可以包括高达微秒(6位)精度的尾随小数秒部分。特别是,从MySQL 5.6.4开始, 存储而不是丢弃插入到一个DATETIME或一TIMESTAMP列中的值中的任何小数部分 。与包括分数部分,这些值的格式'YYYY-MM-DD HH:MM:SS[.fraction]',对于范围 DATETIME的值是'1000-01-01 00:00:00.000000'到'9999-12-31 23:59:59.999999',而对于范围 TIMESTAMP的值是'1970-01-01 00:00:01.000000'到'2038-01-19 03:14:07.999999'。小数部分应始终与其余时间分开一个小数点; 没有识别其他小数秒分隔符。


这里要注意啦:所以5.5以前的版本和5.6.4以上的在dump   sql语句的时候会在TIMESTAMP中会有区别,5.5以前的是timestamp,而5.6.4以上的是timestamp(0)后面有跟时间戳的......

所以5.6.4以上版本的mysql   dump下来的语句中如果有timestamp类型在5.5以前的mysql中执行是会报错的.所以要协商好mysql版本的一致性........

关键的时候去看看官方文档还是有很大收货的......

相关文章

  • mysql中的TIMESTAMP类型引发的sql语句执行错误

    今天同学问了我一个奇怪的问题,他说他的sql语句导入不了,去看了一下原来是mysql中TIMESTAMP类型在5....

  • MySQL Explain

    mysql执行计划 在日常工作中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行过程,以加快SQL语句...

  • mysql执行计划

    mysql执行计划 ​ 在企业的应用场景中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行...

  • mysql执行计划

    mysql执行计划 ​ 在企业的应用场景中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行...

  • mysql执行计划

    mysql执行计划 ​ 在企业的应用场景中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行...

  • [MYSQL]NOW、CURRENT_TIMESTAMP、SYS

    MYSQL中NOW、CURRENT_TIMESTAMP、SYSDATE的区别 执行上边的SQL,结果如下: 这三个...

  • PDOStatement对象的常用方法与抽象层概念

    除了PDO可以执行SQL语句,其实PDOStatement也可以执行SQL语句。执行SQL语句就意味着可能产生错误...

  • mysql通信协议 -- sql预处理(prepared)

    mysql处理sql有两种类型,第一种就是上一篇介绍的文本类型sql(mysql通信协议 -- 语句执行),这种s...

  • mysql调优-执行计划

    mysql执行计划 在企业的应用场景中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行过程,以加快SQ...

  • mysql初涉

    mysql中语句分类 mysql中sql语句分为四种类型,DDL,DQL,DML和DCL。 DDL(数据定义语言)...

网友评论

      本文标题:mysql中的TIMESTAMP类型引发的sql语句执行错误

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