也是最近在捣鼓前后端分离项目, 在写后端接口的时候便设计到数据库表建设, 这里规范显得很重要.

通常的建表规范, 必备三字段:idcreate_timeupdate_time.

  • id 必为主键,类型为 bigint unsigned、单表时自增、步长为 1

  • create_time 类型为 datetime, 数据新增时自动创建

  • update_time 类型为 datetime, 数据更新时被动式更新

drop table if exists test;
create table test (
id int unsigned primary key auto_increment comment 'id'
, name varchar(50) not null comment '名称'
, create_time datetime not null default current_timestamp comment '创建时间'
, update_time datetime not null default current_timestamp on update current_timestamp comment '更新时间'
) charset=utf8 comment '测试表';

写入两条数据:

# 插入测试
insert into test(name) values ('张三'), ('李四');

然后查询该表, 这时候可以看到 id, create_time, update_time 都自动有值了

select * from test;

id	name	create_time	update_time
1 张三 2024-01-17 22:49:36.0 2024-01-17 22:49:36.0
2 李四 2024-01-17 22:49:36.0 2024-01-17 22:49:36.0

再来验证 update 修改其中的数据

# 更新第二条数据的值
update test set name = '杰哥' where id = 2;

然后再来查询即可看到自动更新:

select * from test;

id	name	create_time	update_time
1 张三 2024-01-17 22:49:36.0 2024-01-17 22:49:36.0
2 杰哥 2024-01-17 22:49:36.0 2024-01-17 22:55:07.0

nice !

MySQL中create_time 和 update_time实现自动更新时间的更多相关文章

  1. MySQL load数据的时候自动更新时间

    MySQL load数据的时候自动更新时间 前提 CREATE TABLE table_name ( dt varchar(255) NULL , ctime timestamp NULL ON UP ...

  2. 神奇的bug,退出时自动更新时间

    遇到一个神奇的bug,用户退出时,上次登录时间会变成退出时的时间. 于是开始跟踪,发现Laravel在退出时,会做一次脏检查,这时会更新rember_token,这时就会有update操作如下. 而粗 ...

  3. mysql自动更新时间

    ALTER TABLE sys_user MODIFY COLUMN update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDAT ...

  4. mysql中常用函数简介(不定时更新)

    常用函数version() 显示当前数据库版本database() 返回当前数据库名称user() 返回当前登录用户名inet_aton(IP) 返回IP地址的数值形式,为IP地址的数学计算做准备in ...

  5. mysql中增加某一时间段内的时间数据(包含:时间、年、月、日、第几周、季度)

    创建表dim_date: create table `dim_date` ( `year` int (20), `month` int (20), `day` int (20), `week` int ...

  6. Linux NTP服务器的搭建及client自动更新时间

    Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间 ...

  7. Yii2 自动更新时间created_at updated_at

    创建model之后,新建一条记录,结果设计的表中created_at 字段 updated_at 字段 都是datetime 类型的,却不能自动插入当前时间.查看了资料,解决如下: 1.在class ...

  8. Linux下配置自动更新时间

    1,修正本地时区及ntp服务 [root@VM_0_13_centos ~]# yum -y install ntp [root@VM_0_13_centos ~]# rm -rf /etc/loca ...

  9. mysql中自动更新时间CURRENT_TIMESTAMP

    timestamp的两个属性:CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP http://blog.163.com/qiongling007@126/b ...

  10. 解决SpringBoot+JPA中使用set方法时自动更新数据库问题

    项目进行了三分之二了,突然出现一个很诡异的bug,数据库存储的用户表中密码信息总是自动消失一部分,头疼了几天后突然想起同事有个对低权限用户查询的用户信息向前台传送时会把密码设成null后再传输,心想是 ...

随机推荐

  1. tortoiseGit no git.exe found

    运行tortoiseGit之后显示找不到git.exe 原因:没有安装git,tortoiseGit是在安装了git的基础上运行的 到这里下载git并安装:https://gitforwindows. ...

  2. springboot 中 java.util.zip 文件的压缩

    package com.geotmt.billingcenter.common.utils; import org.datanucleus.util.StringUtils; import org.s ...

  3. 分布式锁—4.Redisson的联锁和红锁

    大纲 1.Redisson联锁MultiLock概述 2.Redisson联锁MultiLock的加锁与释放锁 3.Redisson红锁RedLock的算法原理 4.Redisson红锁RedLock ...

  4. 【Python】批量提取Fibersim xml文件中的节点网格数据

    程序功能: 输入需求: fibersim导出的ply 的xml文件,可以很多个也没问题.但名字要有规律,不然没法循环读写.比如我自己用的就是x1.xml.x2.xml.Y1.xml......的文件名 ...

  5. implicit和explicit求解器的一点比较

    implicit procedure和explicit procedure的比较 abaqus有两个求解器:standard和 explicit求解器.两个求解器在很多方面都有所差异:单元类型/材料行 ...

  6. `go install`指令行为分析

    分析go install [build flags] [packages]指令做了什么,如何实现安装GO软件,我们如何编写一个软件使得可以使用该指令安装自己编写的程序. 参考go官方文档 安装位置 $ ...

  7. Vite项目入口文件

    官方文档:https://cn.vitejs.dev/guide/#index-html-and-project-root

  8. docker部署ceph集群

    1. 创建Ceph专用网络 sudo docker network create --driver bridge --subnet 172.20.0.0/16 ceph-network 2. 拉取搭建 ...

  9. 【离线地图】地图瓦片css复杂滤镜线段绘制

    需求: 目前已经对地图瓦片做了复杂滤镜的黑夜展示,现在又要在这个图片上绘制新的线段等内容,且不能被这个复杂滤镜影响,变成奇奇怪怪的颜色. 同时因为框架限制,只能在这个img上绘制 思考: 1.既然不想 ...

  10. Git安装与Git GUI的使用

    一.下载安装包 官网:https://git-scm.com/downloads(下载慢) 或 https://pc.qq.com/search.html#!keyword=git,本人使用的是Git ...