======================================

转自:http://www.mamicode.com/info-detail-1807313.html

DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。(“支持”意味着尽管更早的值可能工作,但不能保证他们可以。)


DATE类型用在你仅需要日期值时,没有时间部分。MySQL检索并且以'YYYY-MM-DD'格式显示DATE值,支持的范围是'1000-01-01'到'9999-12-31'。

TIMESTAMP列类型提供一种类型,你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。

TIME数据类型表示一天中的时间。MySQL检索并且以"HH:MM:SS"格式显示TIME值。支持的范围是'00:00:00'到'23:59:59'。

参考表结构

CREATE TABLE t\_baby (
baby\_id int(11) NOT NULL AUTO\_INCREMENT,
user\_id int(11) NOT NULL,
nickname varchar(64) DEFAULT NULL,
avatar varchar(64) DEFAULT ‘‘,
sex int(2) unsigned NOT NULL DEFAULT ‘0‘ COMMENT ‘0:未知;\\n 1:男;\\n 2:女。‘,
birthday datetime NOT NULL,
creater varchar(16) DEFAULT ‘‘,
create\_time timestamp NOT NULL DEFAULT CURRENT\_TIMESTAMP,
update\_time timestamp NULL DEFAULT NULL ON UPDATE CURRENT\_TIMESTAMP,
is\_delete bigint(20) DEFAULT NULL COMMENT ‘0‘,
updater varchar(16) DEFAULT NULL,
PRIMARY KEY (baby\_id)
) ENGINE=InnoDB AUTO\_INCREMENT=10000000 DEFAULT CHARSET=utf8mb4;

当我们创建业务表的时候 通常都需要设置create\_time 和 update\_time 但是通常需要在代码中设置好时间后再插入数据库

CURRENT\_TIMESTAMP 字段设置后 当insert数据时 mysql会自动设置当前系统时间 赋值给该属性字段

ON UPDATE CURRENT\_TIMESTAMP 字段设置后 当update数据时 并且 成功发生更改时 mysql会自动设置当前系统时间 赋值给该属性字段

create\_time 设置 CURRENT\_TIMESTAMP属性

update\_time 设置 ON UPDATE CURRENT\_TIMESTAMP属性

我们在代码中 就无需再手动给这两个参数赋值 节省了一定代码量

MySQL自动设置create\_time和update\_time

标签: NULL, MySQL, update, DEFAULT, create, time, TIMESTAMP

相关文章推荐

添加新评论,含*的栏目为必填