mysql字段值自动更新时间

在生产环境中可能会出现,项目已经上线,但是更新时间的字段没有赋值,也就是说这条数据每次更新时,更新的时间依旧是null。为了解决这个问题,一般是将程序更新数据时,把更新时间给更新了。但是上线后更改程序需要重新升级,挺麻烦。现在可以通过修改更新时间的字段,来保证每次更新数据时,数据的更新时间自动更新。

在一个已经建好的表执行如下sql即可完成更新时间自动更新:

 ALTER TABLE checker_barcode  MODIFY COLUMN update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

其中需要注意的是:

1、将“checker_barcode”替换成你需要更新的表名,将“update_time”替换成你需要更新的字段名称,其余sql不变。

2、执行完此sql后,表里面所有的update_time值为null的数据,update_time全都变成了当前时间。

3、执行更新语句时,如果数据没有真正的改变,update_time值不变,只有数据值改变,update_time才会变成当前时间。

时间: 2024-11-07 04:49:39

mysql字段值自动更新时间的相关文章

MySQL数据库时间设置自动添加时间和自动更新时间

说明: MySQL字段中设置时间字段自动添加创建时间和自动更新时间设置,设置字段类型为:timestamp 默认值设置为current_timestamp(),更新时间字段字段类型为:timestamp 默认值设置为 current_timestamp() ON UPDATE current_timestamp() SQL语法和实例 create table tb_name( join_time timestamp NULL DEFAULT current_timestamp(), update

android4.4中自动更新时间机制

名词解释: NITZ:NITZ(Network Identity and Time Zone)或网络标识和时区,是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息.NITZ是自从PHASE 2+ RELEASE 96 的GSM中的可选功能,经常被用来自动更新移动电话的系统时钟. NTP:NTP(Network Time Protocol)提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC. NTP获得UTC的时间来源可以是原子钟.天文台.卫星,

自动更新时间死循环脚本

1 #!/bin/sh 2 #Author:nulige 3 # qqinfo:1034611705 4 # Date: 2015-6-8 5 #实现功能:自动更新时间死循环脚本 6 7 while true 8 do 9 uptime 10 sleep 1 11 done [[email protected] script]# date2016年 04月 15日 星期五 11:54:45 CST [[email protected] script]# ll总用量 16-rw-r--r--. 1

linux系统初始化--​配置ntp自动更新时间

配置ntp自动更新时间 安装ntpdate程序 Shell># yum –y install ntpdate 使用crontab将系统设定为每天0:00与NTP服务器同步时间 Shell># crontab –e 0   0  *  *  *  ntpdate   your_ntp_server_domain_name   or  your_ntp_server_ip_addr 保存退出, 为了我们步骤继续下去,我们执行一次同步 Shell># ntpdate ntp.jn.idc 如果

mysql根据某个字段分组根据更新时间获取最新的记录

我现在有一种统计表,要根据一个字段分组然后根据更新时间,每个分组获取最新的一条记录.命名感觉挺简单的一个需求,然而没什么思路,当然是问度娘了. 度娘的答案很统一,然而都不管用,都是报错的,不知道是不是因为mysql5.7的原因,不过我记得group by也是不能查出整条记录的,为什么百度上都可以,百思不得解! 从网上找个例子: 根据USER_ID分组,每个获取 last_updated_date最新的一条记录. SELECT ID,USER_ID,problems,last_updated_da

mysql中timestamp自动更新和初始化

1.概述 在我们设计表的时候,考虑将行数据的创建时间和最后更新时间记录下来是很好的实践.尤其是可能需要做数据同步或者对数据新鲜度有要求的表.举些应用场景,更新距上次更新超过2小时的行数据,或者是将一个月前的订单数据归档等等.我们想把这个的需求丢给数据库服务器管理,而不是在应用程序中对每一条语句设置创建时间和最后更新时间字段.在mysql中,这实现起来很容易.我们需要借助于DEFAULT CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP 2.简单示例

Yii2 自动更新时间created_at updated_at

创建model之后,新建一条记录,结果设计的表中created_at 字段 updated_at 字段 都是datetime 类型的,却不能自动插入当前时间.查看了资料,解决如下: 1.在class CrmBusiness extends \yii\db\ActiveRecord {}中 引入use  yii\behaviors\TimestampBehavior;use yii\db\Expression; 2.覆盖父类的behaviors 方法 /*** @inheritdoc*/ publ

mysql字段值如何区分大小写

今天做sql查询,发现字段值没区分大小写 mysql> select guid,type,parent_guid from api_assets where guid='3rfI2PsSrCz91mTMDgrZjE';+------------------------+--------+------------------------+| guid | type | parent_guid |+------------------------+--------+-----------------

mysql中自动更新时间CURRENT_TIMESTAMP

timestamp的两个属性:CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP http://blog.163.com/[email protected]/blog/static/2142429620122611356554/ http://www.cnblogs.com/yjf512/archive/2012/11/02/2751058.html http://blog.sina.com.cn/s/blog_49a665e10100cb52.html