MySQL数据库中有字段类型是日期,时间的插入语句处理
什么是时间戳?
TIMESTAMP是一种类型,具体的值:19990717080000
CURRENT_TIMESTAMP是什么意思?
on update CURRENT_TIMESTAMP 什么意思?
MySQL数据库中,与时间有关的类型:
DATE: 格式:2019-07-14 有时间范围 日期为主
TIME:
DATETIME: 2019-07-14 08:00:00 结合时间和日期 ,有时间范围
TIMESTAMP:
日期和时间结合,yyyy-MM-dd HH:mm:ss SSS 和DATETIME格式一样,,
但是TIMESTAMP存储的时间范围比DATETIME要小很多,只能存储“1970-01-01 00:00:01 UTC”到“2038-01-19 03:14:07 UTC”之间的时间。
mysql数据库中的current_timestamp,current_timestamp()函数
mysql>select current_timestamp,current_timestamp();
+-----------------+-------------------+
current_timestamp| current_timestamp()
2008-08-09 23:22:24 | 2028-08-09 23:22:24
TIMESTAMP
MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样。
自动UPDATE和INSERT 到当前的时间:
'create_time' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
-NULL
-NOT NULL DEFAULT CURRENT_TIMESTAMP
-NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
-CURRENT_TIMESTAMP:当更新此条记录时,时间戳不会改变
-CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP: 更新此条记录,时间戳变最新时间。
now():返回当前的日期和时间。
【下面的没有看完】
【
对CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,有个特殊情况,假如你更新的字段值(UPDATE)没有变化时,MySQL将会忽略更新操作,所以,时间戳也不会改变。另外,如果有多个CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP列,那么MySQL只会更新第一个。————————————————版权声明:本文为优快云博主「Jason Hsiao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/weixin_35935514/article/details/113590599
】
表中字段:
orderDate datetime NOT NULL DEFAULT NOW(),
当向表中插入行时,当前的日期和时间自动插入列中, 没插入日期和时间的值,自动插入。
mysql>create table ts(f1 TIMESTAMP);
Query OK.
mysql>desc date; ?
Field: f1
Type:timestam
p
Null:No
Key:
Default:CURRENT_TIMESTAMP
Extra:on update CURRENT_TIMESTAMP
timestamp类型:值为一个变量:CURRENT_TIMESTAMP
具体范围如下:
mysql>insert into tsvalues(19700101080001);
Query OK,1 row affected(0.20 sec)
mysql>insert into ts values(20371231235959);
Query OK,....
mysql>select * from ts;
+---------------------------------+
f1
+----------------------------------+
1970-01-01 08:00:00
2037-12-31 23:59:59
+---------------------------------------+
2 rows in set(0.00 sec)
格式:
yyyymmddhhmmss,
yymmddhhmmss,
yyyymmdd
yymmdd
mysql>insert into ts values(19700101080001);
mysql>insert into ts values(19700102);
mysql>insert into ts values(700102);
mysql>insert into ts values(1231);
自动补上0
+----------------------------------------+
| f1 |
+----------------------------------------+
1970-01-01 08:00:01
2037-12-31 23:59:59
1970-01-02 00:00:00
2037-01-02 00:00:00
2037-12-31 00:00:00