MySQL中創(chuàng)建時間和更新時間的自動更新的實現(xiàn)示例
一、需求
當新增記錄的時候,MySQL自動將系統(tǒng)的當前時間 set 到創(chuàng)建時間和更新時間這兩個字段中。
當更新記錄的時候,MySQL 只 update 更新時間字段的時間,而不修改創(chuàng)建時間字段對應的值。
二、方案
找到表中對應的創(chuàng)建時間和更新時間的字段,將其修改如下:
- 創(chuàng)建時間字段
creat_time timestamp NULL DEFAULT CURRENT_TIMESTAMP
- 更新時間字段
update_time timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
如此便不需要在代碼中對記錄設置創(chuàng)建時間和修改時間了。在 navicat 中的操作:找到相應的表—右擊—>點擊“設計表”—>如下圖:
插入記錄時自動生成創(chuàng)建時間:
更新記錄時自動生成修改時間:
創(chuàng)建時間(創(chuàng)建日期)、修改時間(修改日期)設置為自動生成
創(chuàng)建日期的自動生成
創(chuàng)建日期的自動生成比較好說:
字段默認值設置為 CURRENT_TIMESTAMP ,這樣在新增的時候,日期會自動生成。
sql語句為:
CREATE TABLE T_USER( CREATE_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP , UPDATE_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP )
當然,數(shù)據(jù)庫設計工具也可以直接設置。
更新日期的自動生成
更新日期稍微麻煩一點,因為默認值是新增的時候才有效,update的時候不會觸發(fā)default的邏輯。
這里用觸發(fā)器:
create or replace trigger T_USER_UPDATE_TRIGGER before update on T_USER for each row begin :new.UPDATE_DATE := sysdate; end;
到此這篇關于MySQL中創(chuàng)建時間和更新時間的自動更新的文章就介紹到這了,更多相關MySQL自動更新創(chuàng)建時間和更新時間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Can''t connect to MySQL server的解決辦法
ERROR 2003 (HY000): Can't connect to MySQL server on '*.*.*.*' (113)的解決辦法2010-06-06解析如何使用Zend Framework 連接數(shù)據(jù)庫
本篇文章是對如何使用Zend Framework 連接數(shù)據(jù)庫的方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06SQL使用ROW_NUMBER() OVER函數(shù)生成序列號
這篇文章主要介紹了SQL使用ROW_NUMBER() OVER函數(shù)生成序列號,ROW_NUMBER()從1開始,為每一條分組記錄返回一個數(shù)字,下面文章內(nèi)容具有一定的參考價值,需要的小伙伴可以參考一下2021-12-12在MySQL中創(chuàng)建帶有IN和OUT參數(shù)的存儲過程的方法
這篇文章主要介紹了在MySQL中創(chuàng)建帶有IN和OUT參數(shù)的存儲過程的方法,在一定程度上簡化了操作,需要的朋友可以參考下2015-06-06