MySQL表结构自动初始化的create_time与自动更新的update_time
侧边栏壁纸
  • 累计撰写 57 篇文章
  • 累计收到 1 条评论

MySQL表结构自动初始化的create_time与自动更新的update_time

admin
2021-10-18 / 0 评论 / 30 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年10月18日,已超过595天没有更新,若内容或图片失效,请留言反馈。

在表结构设计时,经常会设计两个字段:数据创建时间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
);

yanshi.png

0

打赏

海报

正在生成.....

评论 (0)

取消