在表结构设计时,经常会设计两个字段:数据创建时间create_time与数据更新时间update_time。
通过MySQL的以下机制完成create_time的自动初始化与update_time的自动更新:
DEFAULT:默认值机制。
CURRENT_TIMESTAMP:MySQL内置函数,用于获取当前时间戳。
ON UPDATE:当数据成功更新时。
创建表结构时
CREATE TABLE `t_temp` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`comment` varchar(10) NOT NULL DEFAULT '' COMMENT '备注',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
修改表结构时
ALTER TABLE `t_temp` ADD COLUMN (
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
评论 (0)