【转载】:MySQL中有关TIMESTAMP和DATETIME的总结

1. datetime 和 timestamp 的相同点

  两者都可以用来表示YYYY-MM-DD HH:MM:SS[.fraction]类型的日期。

2. datetime 和 timestamp 的不同点

2.1 存储方式

  对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。

  而对于DATETIME,不做任何改变,基本上是原样输入和输出。

2.2 存储范围

  timestamp所能存储的时间范围为:'1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.999999'。

  datetime所能存储的时间范围为:'1000-01-01 00:00:00.000000' 到 '9999-12-31 23:59:59.999999'。

  总结:TIMESTAMP和DATETIME除了存储范围和存储方式不一样,没有太大区别。当然,对于跨时区的业务,TIMESTAMP更为合适。

3. datetime 和 timestamp 的自动初始化和自动更新

  默认情况下,数据表会对第一个 timestamp 字段设置为 not null,并在记录更新时自动更新该字段的值为当前时间;

  测试:

  

3.1 设置自动初始化和更新

  查看是否开启自动初始化和更新:

  show variables like '%explicit_defaults_for_timestamp%';

  

  禁用自动初始化和更新:

  1. 将“explicit_defaults_for_timestamp”的值设置为ON。

  2. “explicit_defaults_for_timestamp”的值依旧是OFF,也有两种方法可以禁用

   1> 用DEFAULT子句该该列指定一个默认值

   2> 为该列指定NULL属性。

最新文章

  1. 搞懂$.each和$(selector).each
  2. (。・・)ノ~个人java学习随笔记录
  3. redis配置文件redis.conf说明
  4. linux的一些小问题
  5. hadoop 笔记(hbase)
  6. Show "Appear Offline" in Lync
  7. GATK-BWA-MEM handle GRCh38 alternate contig mappings
  8. vmware12安装vmtools
  9. Egret的第一个2048游戏
  10. CSS禁止用户选择复制
  11. php调用第三方接口
  12. html5 css练习 定位布局
  13. VUE.JS 使用axios数据请求时数据绑定时 报错 TypeError: Cannot set property 'xxxx' of undefined 的解决办法
  14. FileItem类的常用方法(关于文件上传的)
  15. day 05 字典,字典嵌套
  16. the most beautiful media player on the linux platform.
  17. [WPF]WPF开发方法论
  18. 从《乱世王者》看腾讯SLG手游如何搭建完整安全服务
  19. hadoop中的序列化与Writable接口
  20. Jxl的API概述(转)

热门文章

  1. Linux之远程文件传输
  2. HTML实现三角形和旗帜代码
  3. mysql 触发器 if then elseif else 的运用
  4. 数据结构---->数组
  5. D - A or...or B Problem
  6. sscanf功能详解(转)
  7. unsigned char数组赋值
  8. 在xshell中安装python3.6
  9. HttpRunner完整笔记(从搭建到应用)
  10. MySQL Audit日志审计