mysql自动赋值

在mysql数据表设计时,为了记录数据首次插入及修改的时间,通常会设计有create_time和update_time2个字段。有2种方式可实现自动赋值:

第一种:通过mybatis-plus自动填充;

第二种:通过设计mysql表来实现。

本文主要介绍使用mysql方案

为create_time和update_time指定为datetime或timestamp类型,对于存量表,可通过下面的SQL进行设置:

sql 复制代码
ALTER TABLE sms_store_apply 
MODIFY COLUMN create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
MODIFY COLUMN update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

通过这样的设计可实现,新增是为create_time和update_time指定当前时间,当执行修改操作时,只修改update_time为当前时间,create_time的值不动。

如果是新增表,设计表时这样指定:

sql 复制代码
CREATE TABLE sms_store_appeal (
    -- 其他字段...
    create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    -- 其他字段...
);
相关推荐
镜舟科技6 分钟前
如何高效使用 Text to SQL 提升数据分析效率?四个关键应用场景解析
数据库·sql·数据分析
玛奇玛丶16 分钟前
数据库索引失效了...
后端·mysql
King.62438 分钟前
数据服务化 VS 数据中台:战略演进中的价值重构
大数据·数据库·sql·oracle·重构
Elastic 中国社区官方博客39 分钟前
Elasticsearch:AI 助理 - 从通才到专才
大数据·数据库·人工智能·神经网络·elasticsearch·搜索引擎·全文检索
花千树-0101 小时前
MySQL 数据库备份和恢复全指南
数据库·mysql
·薯条大王1 小时前
Node.js 操作 MySQL 数据库
javascript·数据库·mysql
Java_SuSheng1 小时前
关于SQLite轻量数据库的研究
java·数据库·spring boot·sqlite·mybatis
maomi_95263 小时前
数据库学习通期末复习二
服务器·数据库
努力努力再努力wz3 小时前
【Linux实践系列】:用c/c++制作一个简易的进程池
linux·运维·数据库·c++·c
fly spider4 小时前
一站式Windows下Docker开启MySQL并链接本地Navicat(附乱码解决方案)
windows·mysql·docker·乱码解决