`
风远阁
  • 浏览: 40056 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql中的datetime和timestamp

阅读更多
    DATETIME:日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。
    TIMESTAMP[(M)]:时间戳。范围是'1970-01-01 00:00:00'到2037年。
TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。、
示例如下:
MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样。
1、自动UPDATE 和INSERT 到当前的时间:
表:
CREATE TABLE `t1` (                                                                 
       p_c int(11) NOT NULL,                                                           
       p_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 
        ) ENGINE=InnoDB DEFAULT CHARSET=gb2312                                              

数据:
1    2007-10-08 11:53:35
2    2007-10-08 11:54:00
insert into t1(p_c) select 3;
update t1 set p_c = 2 where p_c = 5;
数据:
1    2007-10-08 11:53:35
5    2007-10-08 12:00:37
3    2007-10-08 12:00:37


2、自动INSERT 到当前时间,不过不自动UPDATE。
表:
CREATE TABLE `t2` (                                     
          `p_c` int(11) NOT NULL,                               
          `p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP 
        ) ENGINE=InnoDB DEFAULT CHARSET=gb2312                  
数据:
insert into t2(p_c) select 4;
update t2 set p_c = 3 where p_c = 5;
1    2007-10-08 11:53:35
2    2007-10-08 12:00:37
5    2007-10-08 12:00:37
4    2007-10-08 12:05:19


3、一个表中不能有两个字段默认值是当前时间,否则就会出错。不过其他的可以。
表:
CREATE TABLE `t1` (                                           
          `p_c` int(11) NOT NULL,                                     
          `p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,      
          `p_timew2` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' 
        ) ENGINE=InnoDB DEFAULT CHARSET=gb2312                        
数据:
1    2007-10-08 11:53:35    0000-00-00 00:00:00
2    2007-10-08 12:00:37    0000-00-00 00:00:00
3    2007-10-08 12:00:37    0000-00-00 00:00:00
4    2007-10-08 12:05:19    0000-00-00 00:00:00
TIMESTAMP值返回后显示为'YYYY-MM-DD HH:MM:SS'格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0。
1
1
分享到:
评论
2 楼 风远阁 2011-07-21  
小建枫叶 写道
OK

1 楼 小建枫叶 2011-07-21  
OK

相关推荐

    MySQL中datetime和timestamp的区别及使用详解

    在MySQL数据库中,datetime和timestamp是两种常用的日期和时间数据类型,它们虽然都可以用来存储日期和时间信息,但在使用和处理上存在一些显著的区别。本文将深入探讨这两种数据类型的差异以及如何在实际应用中选择...

    Mysql中的Datetime和Timestamp比较

    MySQL数据库系统中,时间数据类型是用来存储日期和时间值的,其中包括`DATE`、`DATETIME`和`TIMESTAMP`。这些类型在某些方面相似,但在其他方面却有着明显的区别。下面将详细介绍`DATETIME`和`TIMESTAMP`的比较,并...

    spirng-boot 的时间类型(date、datetime、timestamp)的全局配置

    MySQL中主要有三种时间类型:DATE、DATETIME和TIMESTAMP。DATE类型仅存储年月日,而DATETIME和TIMESTAMP可以存储日期和时间。两者的区别在于,DATETIME的范围更广(1000-01-01到9999-12-31),而TIMESTAMP在MySQL ...

    mysql时间类型对应的java类型1

    在MySQL中,TIMESTAMP有时区敏感性,而DATETIME是固定的。在Java中,同样使用`java.sql.Timestamp`来表示。 5. **YEAR**:仅存储年份,格式为'YYYY'或'YY'。在Java中,虽然没有直接对应的类型,但通常可以使用`java...

    mysql中datetime类型设置默认值方法

    在MySQL数据库中,datetime类型常用于存储日期和时间的组合数据,如事件的发生时间或记录的创建、修改时间。在设计数据库表结构时,有时我们需要为datetime类型的字段设置默认值,以便在插入新记录时自动填充当前的...

    MySQL的datetime设置当前时间为默认值[定义].pdf

    在上面的示例中,我们创建了一个名为 `test_mysql_timestamp` 的表,该表有两个字段:`id` 和 `begin_time`。其中,`begin_time` 字段是一个 TIMESTAMP 类型,具有默认值 CURRENT_TIMESTAMP,且在更新时自动更新为...

    关于MySQL 时间类型 datetime、bigint、timestamp,你用哪个?

    ### MySQL时间类型详解:datetime、bigint、timestamp 在MySQL中,根据不同的应用场景和需求,可以选择多种方式来存储日期和时间信息。本篇文章将详细介绍三种常用的时间类型:`datetime`、`bigint` 和 `timestamp`...

    解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别

    了解MySQL的DATETIME和TIMESTAMP的区别也很重要,前者不包含时区信息,后者则存储时区相关的日期和时间。TIMESTAMP在某些情况下可能会自动更新,这在处理跨时区数据时特别有用。然而,如果不正确配置,可能会遇到...

    解决mysql时间戳datatime存储四舍五入问题.docx

    在MySQL数据库中,时间戳(Timestamp)和日期时间(DateTime)是两种常见的日期和时间数据类型,用于存储和处理时间信息。在您的项目中遇到的问题是关于DateTime类型的字段在存储时出现了四舍五入的问题,这通常是...

    datetime时间插入的5种方式

    本篇文章将详细介绍在MyBatis中插入datetime时间的五种方法,帮助你更好地理解和运用。 1. **SQL字符串拼接** 最简单的方式是直接在SQL语句中拼接日期时间字符串。例如,假设我们有一个`create_time`字段,可以...

    MySQL中你应该使用什么数据类型表示时间.docx

    本文将讨论 MySQL 中原生的 DATE 类型和 INT 类型的比较,介绍 Datetime 和 Timestamp 两种原生类型,并讨论使用 INT 字段保存 Unix 时间的方法。 Datetime 数据类型 Datetime 数据类型用于保存同时包含日期和时间...

    mysql取得datetime类型的数据,后面会跟个.0的实现方法

    在MySQL中,datetime和timestamp是两种常见的日期时间类型。datetime能存储的范围从1000-01-01 00:00:00到9999-12-31 23:59:59,而timestamp在不同版本的MySQL中有所不同,但通常能存储从1970-01-01 00:00:00到2038-...

    MySQL中文参考手册

    3. **数据类型**:MySQL支持多种数据类型,如数值类型(整型、浮点型、定点型)、字符串类型(CHAR、VARCHAR、TEXT)、日期和时间类型(DATE、TIME、DATETIME、TIMESTAMP)等。理解这些类型及其用途对于有效存储和...

    java与mysql日期类型的问题

    通过java向mysql中插入datetime类型的数据: String sql = "INSERT INTO wp_posts ( post_date )VALUES(?)"; PreparedStatement pstmt = connection.prepareStatement(sql); Timestamp time = new Timestamp...

    Java数据类型和MySql数据类型对应一览

    在 MySql 中,日期时间类型对应的是 DATE、TIME、DATETIME、TIMESTAMP 等类型。其中,DATE 类型用于存储日期,TIME 类型用于存储时间,DATETIME 类型用于存储日期和时间,TIMESTAMP 类型用于存储时间戳。 布尔类型 ...

Global site tag (gtag.js) - Google Analytics