原表内字段设计
updated_time datetime default CURRENT_TIMESTAMP not null comment '记录更新时间',
默认情况下,创建表时使用 DEFAULT CURRENT_TIMESTAMP
会在插入新记录时自动将当前时间戳作为默认值。然而,对于更新操作,当前时间戳不会自动更新。要在更新时自动更新 updated_time
,可以使用 ON UPDATE
子句
使用alter语句变更
ALTER TABLE <table_name>
MODIFY updated_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间';
这样在代码中可以减少一行 setUpdatedTime(LocalDateTime.now())
在MySQL中创建表时,如果要设置updated_time
字段以便在插入和更新操作时自动设置当前时间戳,可以使用以下DDL(数据定义语言)语句:
CREATE TABLE <table_name>(
-- 其他字段定义
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
-- 设置`updated_time`字段
updated_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-- 其他字段定义(如果有)
created_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);