timestamp使用
一. timestamp两种属性:
自动初始化: 此行为只在第一次写入数据时,怎么把时间设为当前时间. (DEFAULT CURRENT_TIMESTAMP)
自动更新: 此行为在修改资料时,会自动帮你把值修改为当前时间. (ON UPDATE CURRENT_TIMESTAMP)
二. 四种状态:
由上面两种属性延伸出四种状态
1. 自动初始化以及自动更新 (timestamp字段的数据默认就是此行为)
实现sql: ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
2.只做初始化,更新时不自动更新
实现sql: ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
3.只做自动更新,不做初始化
实现sql: ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
4. 什么都不做(建议这种情况,数据类型就使用datetime)
官方文档的说明
注:DEFAULT-->DEFAULT CURRENT_TIMESTAMP
ON UPDATE -->ON UPDATE CURRENT_TIMESTAMP
在CREATE TABLE语句中,第1个TIMESTAMP列可以用下面的 任何一种方式声明:
1: 如果定义时DEFAULT 和ON UPDATE 子句都有,列值为默认使用当前的时间戳,并且自动更新。
2: 如果不使用DEFAULT和ON UPDATE子句,那么它等同于DEFAULT ON UPD