不熟数据库之前,项目数据的更新和创建所涉及到的时间,都是在java程序里面获取系统时间,然后传到dao层执行写入后更新操作。其实这样有点不必要,因为设置数据库时间字段时,可以设置为自动获取;如下:mysql
CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP 详解
1.CURRENT_TIMESTAMP : 当要向数据库执行 insert操作时,如果有个 timestamp字段属性设为CURRENT_TIMESTAMP,则无论这个
字段有没有set值都插入当前系统时间
2. ON UPDATE CURRENT_TIMESTAMP : 使用 ON UPDATE CURRENT_TIMESTAMP 放在 TIMESTAMP 类型的字段后
面,在数据发生更新是该字段将自动更新时间
使用一般创建时间和更新时间 字段设置如下:
`create_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
一个简单例子:
mysql> CREATE TABLE time(
-> id INT(22) PRIMARY KEY AUTO_INCREMENT,
-> name VARCHAR(100),
-> time1 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-> time2 TIMESTAMP DE