前言
MySQL
数据库有时候会给表中加上 create_time
和 update_time
这两个字段,这两个字段可以设置为 datetime
或 timestamp
类型,那么如何为其设置默认值并根据当前时间来更新呢?
如何做到通过 MySQL
数据库的设置来实现上述字段的自动化填充呢,而不用在 sql
语句中手动来填充呢。解决办法如下
通过建表语句来指定
CREATE TABLE `test` (
`text` varchar(255) DEFAULT '' COMMENT '内容',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DEFAULT CURRENT_TIMESTAMP
:表示当插入数据的时候,该字段默认值为当前时间ON UPDATE CURRENT_TIMESTAMP
:表示每次更新这条数据的时候,该字段都会更新成当前时间
通过 navicat
的可视化界面直接操作
create_time
和 update_time
这两个字段设置如下