mysql的update_time

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age INT,
    update_time TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
);

具体解释如下:

  • DEFAULT CURRENT_TIMESTAMP: 这部分表示当插入新行时,如果没有指定 update_time 字段的值,将会使用当前的时间戳作为默认值。
  • ON UPDATE CURRENT_TIMESTAMP: 这部分表示当更新该行数据时,update_time 字段会自动更新为当前的时间戳。

这样的设计可以确保在插入新数据时,update_time 字段会自动被设置为当前的时间戳,而在更新数据时,update_time 字段会自动更新为更新时的时间戳,从而保持记录的更新时间是最新的。

假设我们有一张名为 users 的表,其中包含 update_time 字段,如果我们执行以下 SQL 语句:

INSERT INTO users (name, age) VALUES ('John', 30);

这条插入数据的语句中没有指定 update_time 字段的值,因此 update_time 将会被设置为当前的时间戳。

如果之后执行以下 SQL 语句:

UPDATE users SET age = 31 WHERE name = 'John';

这条更新数据的语句会自动更新 update_time 字段为当前的时间戳。

使用 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 是一个方便的方式来管理更新时间戳字段,无需手动设置时间戳的值,系统会自动处理

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值