`
klts
  • 浏览: 39384 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论
  • klts: 我一直用的jdk1.6.0_13,感觉还可以
    JDK
  • wuyulunbi: 现在jdk什么版本的稳定
    JDK

mysql datetime与timestamp

阅读更多

mysql创建表时间类型的选择:创建表(datetime),更新表(timestamp)。如果你的表中有两个timestamp字段,只要你更新任何非timestamp字段的值,则第一个timestamp列会更新成当前时间,而第二个timestamp列的值不变。

 

MySQL5的日期类型有三种:DATETIME、DATE和TIMESTAMP

DATE用来表示一个不带时分秒的是日期,另外两个都带时分秒。TIMESTAMP还可以精确到毫秒。

共性:他们的格式“不严格”,很自由,一般你认为对的格式都可以正确插入到数据库中

 

一、TIMESTAMP

1、TIMESTAMP列必须有默认值,默认值可以为“0000-00-00 00:00:00”,但不能为null。
2、TIMESTAMP列不可以设置值,只能由数据库自动去修改。
3、一个表可以存在多个TIMESTAMP列,但只有一个列会根据数据更新而改变为数据库系统当前值。因此,一个表中有多个TIMESTAMP 列是没有意义,实际上一个表只设定一个TIMESTAMP列。
4、TIMESTAMP列的默认值是CURRENT_TIMESTAMP常量值。当纪录数据发生变化的时候,TIMESTAMP列会自动将其值设定为CURRENT_TIMESTAMP。
5、TIMESTAMP列创建后的格式是:
`a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
这个语句含义,a字段的默认值是CURRENT_TIMESTAMP,当纪录更新时候,自动将a字段的值设置为 CURRENT_TIMESTAMP。
6、另外,下面的定义从语法角度是对的,但是没有意义,因为该字段的值不可更改,永远只能为默认值。
`b` timestamp NOT NULL DEFAULT ’0000-00-00 00:00:00′,

二、DATETIME

1、DATETIME列可以设置为多个,默认可为null,可以手动设置其值。
2、DATETIME列不可设定默认值,这是很多人煞费苦心研究的成果,呵呵!
3、DATETIME列可以变相的设定默认值,比如通过触发器、或者在插入数据时候,将DATETIME字段值设置为now(),这样可以做到了,尤其是后者,在程序开发中常常用到。

分享到:
评论

相关推荐

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

    主要介绍了MySQL中datetime和timestamp的区别及使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Mysql中的Datetime和Timestamp比较

    主要介绍了Mysql中的Datetime和Timestamp比较,本文总结了它们的相同点和不同点以及时间格式介绍等,需要的朋友可以参考下

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

    Mysql 与 java 的时间类型 MySql的时间类型有 Java中与之对应的时间类型 datejava.sql.Date Datetimejava.sql

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

    spirng-boot 的时间类型(date、datetime、timestamp)的全局配置, 以及mysql的时间字段如何设置。

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

    下面小编就为大家分享一篇mysql中datetime类型设置默认值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    debezium-datetime-converter:Debezium自定义转换器用于处理mysql datetime类型的问题

    Debezium自定义转换器用于处理mysql datetime类型的问题 MySQL的 Binlog连接器 德比兹 德比兹图式 日期(2021-01-28) 本地日期(2021-01-28) 整数(18655) 碘化氢时间日期 时间(17:29:04) 期间(PT17H29M4...

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

    数据库中可以用datetime、bigint、timestamp来表示时间,那么选择什么类型来存储时间比较合适呢?

    mysql 数据类型TIMESTAMP

    在mysql中timestamp数据类型是一个比较特殊的数据类型,他可以自动在你不...因此在MySQL中要记录创建日期还得使用datetime 然后使用NOW() 函数完成! 1: 如果定义时DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TI

    java与mysql日期类型的问题

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

    mysql优化及基础面试题

    mysql优化及基础面试题。 什么是慢查询 慢查询日志,顾名思义,就是...面试经常问道 timestamp 类型 与 datetime 区别 timestamp 和时区有关,而 datetime 无关。 数据类型选择 当一个列可以选择多种数据类型时 。

    mysql datetime查询异常问题解决

    mysql datetime查询异常 异常:Value ‘0000-00-00 00:00:00’ can not be represented as java.sql.Timestamp (2011-05-25 11:38:40) 描述:非空无默认值的Datetime类型字段,查询时程序报以下错误: Value ...

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

    下面小编就为大家带来一篇mysql取得datetime类型的数据,后面会跟个.0的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    MySQL timestamp自动更新时间分享

    因此在MySQL中要记录创建日期还得使用datetime 然后使用NOW() 函数完成!1,TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 在创建新记录和修改现有记录的时候都对这个数据列刷新2,TIMESTAMP ...

    MySQL存储毫秒数据的方法

    由于MySQL数据类型中只提供了DATETIME, TIMESTAMP, TIME, DATE, YEAR这几种时间类型,而且DATETIME 以及 TIMESTAMP 的最小单位是秒,没有存储毫秒级别的函数。 不过MySQL却能识别时间中的毫秒部分。而且我们有...

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

    mysql 中:UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)若无...date 可以是一个DATE 字符串、一个 DATETIME字符串、一个 TIMESTAMP或一个当地时间的YYMMDD 或YYYMMDD格式的数字。mysql> SELECT UNIX_TIMESTAMP();-> 8822263

    PHP date()格式MySQL中插入datetime方法

    DATETIME: YYYY-MM-DD HH:MI:SS Example: 2019-01-28 23:50:30 TIMESTAMP: YYYY-MM-DD HH:MI:SS Example: 2019-01-28 23:50:30 YEAR: YYYY or YY 用于创建DataBase的MySQL查询: CREATE DATABASE Date_time

    前端开源库-micro-timestamp

    前端开源库-micro-timestampmicro timestamp,以mysql datetime格式生成UTC micro second timestamp

    mysql的日期和时间函数

    注意,对于给定的日期参数是一年的第一周或最后一周的,返回的年份值可能与日期参数给出的年份不一致: mysql> SELECT YEARWEEK(’1987-01-01’); -> 198653 注意,对于可选参数 0 或 1,周值的返回值不同于...

Global site tag (gtag.js) - Google Analytics