MySQL创建自动更新列

Posted viewts

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL创建自动更新列相关的知识,希望对你有一定的参考价值。

项目中很多时候需要自动更新的列表项,例如创建时间(createTime)和修改时间(updateTime),所以的在建表的时候需要特殊处理一下:

create table `account` (
    `id` int primary key auto_increment,
    `title` varchar(32) not null comment 标题,
    `price` decimal(6,2) default 0.01 comment 价格,
    `username` varchar(16) not null comment 账号,
    `password` varchar(16) not null comment 密码,
    `create_time` timestamp default current_timestamp comment 创建时间,
    `update_time` timestamp default current_timestamp on update current_timestamp comment 修改时间
) comment 账号表;

然后修改对应的实体类,添加@DynamicInsert和@DynamicUpdate注解

@Data
@Entity
@DynamicInsert
@DynamicUpdate
public class Account {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    private String title;
    private BigDecimal price;
    private String username;
    private String password;
    private Date createTime;
    private Date updateTime;
}

 

以上是关于MySQL创建自动更新列的主要内容,如果未能解决你的问题,请参考以下文章

仅当自动增量数据相等时才从另一个表列更新 mysql 列

如何使mysql在每次修改行操作时自动将列更新为当前时间戳?

MySQL数据类型 - 日期和时间类型

sqlalchemy 创建一个根据其他列自动更新的列

导出mysql中的自动递增列描述

Android Place自动填充片段:无法设置文字