首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MysqlMySQL TIMESTAMP类型 和 DATETIME类型 的区别

1、两者的存储方式不一样 TIMESTAMP:把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。...3、timestamp支持default current_timestamp 来设置默认自动当前时间 4、timestamp支持on update current_timestamp 来设置更新时自动当前时间...5、timestamp时区相关,存储时以UTC时间保持,查询时转换为当前时区,即如果在东8区的08:00:00分保存的数据,在东9区看到的是09:00:00,datetime与时区无关 6、timestamp...4个字节存储(实际上就是int),datetime 8个字节 7、如果timestamp的值超出范围,mysql不会报错 8、如果是自动更新模式,手动修改数据导致timestamp字段更新 9、同时有两个...timestamp字段默认值为current_timestamp会报错 参考资料: MySQL TIMESTAMP类型 和 DATETIME类型 的区别 http://www.studyofnet.com

3.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQLDATETIME与TIMESTAMP

    “温故而知新” 真理永远都不过时,今天由于工作的事情涉及到了这里,印象只记得DATETIME类型占用8字节,TIMESTAMP类型占用4字节,心想这么久没有更新的知识万一过时了咋办,毕竟MySQL8都有了...,于是翻开了MySQL的官网,决定查一查这两个字段的区别。...(在v5.5.x是没有小数部分的) 好~下面详细介绍一下 按官网给出的表格大概是这样的 Data Types Before 5.6.4 As of 5.6.4 DATETIME 8 bytes 5 bytes...计算速度有了一定的提升;TIMESTAMP使用到2038年1月19号就到终点站了…… 希望大家的项目到那时还存在,我的也是~~ ---- 贴出官网文档: 底层算法和结构:https://dev.mysql.com.../doc/internals/en/date-and-time-data-type-representation.html 日期时间类型概览:https://dev.mysql.com/doc/refman

    2.5K50

    MySQLDATETIME与TIMESTAMP

    微信关注 [可回收BUG] ---- “温故而知新” 真理永远都不过时,今天由于工作的事情涉及到了这里,印象只记得DATETIME类型占用8字节,TIMESTAMP类型占用4字节,心想这么久没有更新的知识万一过时了咋办...,毕竟MySQL8都有了,于是翻开了MySQL的官网,决定查一查这两个字段的区别。...(在v5.5.x是没有小数部分的) 好~下面详细介绍一下 按官网给出的表格大概是这样的 Data Types Before 5.6.4 As of 5.6.4 DATETIME 8 bytes 5 bytes...计算速度有了一定的提升;TIMESTAMP使用到2038年1月19号就到终点站了…… 希望大家的项目到那时还存在,我的也是~~ ---- 贴出官网文档: 底层算法和结构:https://dev.mysql.com.../doc/internals/en/date-and-time-data-type-representation.html 日期时间类型概览:https://dev.mysql.com/doc/refman

    2.2K20

    【开发日记】MySQL TIMESTAMP 类型建表异常

    MySQL TIMESTAMP 类型建表异常 建表报错信息 incalid default value for 'xxx' 建表语句 CREATE TABLE `表名`( ......字段名 TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00' , ... ) 报错原因 MySQL的sql_mode参数会影响对日期时间的处理方式。...字段名 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, ... ) 将建表语句改为如下所示,表示默认值为NULL。 CREATE TABLE `表名`( ......字段名 TIMESTAMP NULL DEFAULT NULL, ... ) ② 调整sql_mode参数 修改sql_mode参数值为ALLOW_INVALID_DATES,表示不对无效的日期进行严格的检查...会话级别配置只对当前会话有效,sql如下: SET sql_mode = 'ALLOW_INVALID_DATES'; 全局级别配置需要修改MySQL的配置文件,并且需要修改后重启MySQL服务,MySQL

    18110

    MySQL timestamp类型列值自动更新

    MySQL中使用timestamp定义字段,默认情况下会给字段添加自动更新的属性,本文将分析这个自动更新的设置。...问题概述 一个表定义了两个timestamp类型的字段, create_time TIMESTAMP NOT NULL COMMENT '创建时间', update_time TIMESTAMP NOT...刨根问底 在create table语句中,对第一个出现的timestamp类型字段的定义会有如下几种情况: 使用DEFAULT CURRENT_TIMESTAMP,表示列值为当前时间戳但不会自动更新;...; 而第二个出现的timestamp类型字段,如果没有使用DEFAULT CURRENT_TIMESTAMP或DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP...CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP进行定义的列,mysql只会更新第一个使用它定义的列。

    3.7K70

    浅析TIMESTAMP类型

    因此,日期与时间类型也是我们最常用到的类型之一,今天就来聊一聊日期与时间类型TIMESTAMP类型。...在MySQL中提供的常用的日期类型有:DATE、TIME、DATETIME、TIMESTAMP,本文测试场景为MySQL 8.0。...00 UTC 2038-01-19 03:14:07UTC 在这几种类型,只有TIMESTAMP能够与实际时区相对应 ---- 一、DATE\TIME\DATETIME DATE、TIME和DATETIME...是经常使用到的3日期类型,以下在三种类型字段插入相同日期值,来看看显示效果: #创建表 mysql> CREATE TABLE t ( -> date DATE, -> time TIME...只给表第一个TIMESTAMP字段设置默认值为系统时间,如果有第二个TIMESTAMP类型,则设置默认值为0 但是这个默认值也是可以修改的,在MySQL5.6之前,如果强行修改是会报错的,但是在MySQL5.6

    1.3K20

    mysql timestamp

    【1】timestamp字段所在行更新时,timestamp字段会被更新成当前时间 (1.1)一个表中出现了两个timestamp字段类型 我测试了一下,如果你的表中有两个timestamp字段,只要你更新任何非...-00-00 00:00:00’ (1)当 request3 TIMESTAMP not null 列在timestamp字段不是第一个字段时时 (2)当 request3 TIMESTAMP...not null 字段是第一个timestamp 字段是 二、MySQL日期类型DATETIME和TIMESTAMP 相关问题详解 MySQL的日期类型有三种:DATETIME、DATE和TIMESTAMP...TIMESTAMP还可以精确到毫秒。 其次还有个共性,就是他们的格式“不严格”,很自由,一般你认为对的格式都可以正确插入到数据库。 这里主要解决带时分秒日期的一些常见问题。...-%d %H:%i:%s’) 2、日期转字符串 select DATE_FORMAT(‘2010-03-03 16:41:16′, ‘%Y-%m-%d %H:%i:%s’) (2.5)日期的

    1.8K20

    mysql数据库double类型_timestamp是什么数据类型

    1、整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m)...2、浮点型(float和double) MySQL数据类型 含义 float(m,d) 单精度浮点型 8位精度(4字节) m总个数,d小数位 double(m,d) 双精度浮点型 16...3、定点数 浮点型在数据库存放的是近似值,而定点类型在数据库存放的是精确值。...6.日期时间类型 MySQL数据类型 含义 date 日期 ‘2008-12-2’ time 时间 ’12:25:36′ datetime 日期时间 ‘2008-12-2 22:06:44’ timestamp...自动存储记录修改时间 若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。

    2.5K20

    MySQL datetime 和 timestamp 的区别与选择

    MySQL 中常用的两种时间储存类型分别是datetime和 timestamp。如何在它们之间选择是建表时必要的考虑。下面就谈谈他们的区别和怎么选择。...1 区别 1.1 占用空间 类型 占据字节 表示形式 datetime 8 字节 yyyy-mm-dd hh:mm:ss timestamp 4 字节 yyyy-mm-dd hh:mm:ss 1.2...表示范围 类型 表示范围 datetime '1000-01-01 00:00:00.000000' to '9999-12-31 23:59:59.999999' timestamp '1970-01...查看数据,可以看到存进去的是NULL,timestamp会自动储存当前时间,而 datetime会储存NULL 把时区修改为东 9 区,再查看数据,会会发现 timestamp 比 datetime 多一小时...如果是想要使用自动插入时间或者自动更新时间功能的,可以使用timestamp

    18.1K30
    领券