您好,登錄后才能下訂單哦!
這篇文章主要介紹了Mysql中update_time時間字段列的處理和遷移改寫案例,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
需求:
1. 當新增記錄的時候,數據庫自動將系統的當前時間set到創建時間和更新時間這兩個字段中。
2. 當更新記錄的時候,數據庫只update更新時間字段的時間,而不修改創建時間字段對應的值。
需求1:創建時間字段
`creat_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP
需求2:更新時間字段
`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
說明:即通過字段的默認值來處理。
在Oracle或者達夢上,對于需求1(創建時間字段),處理方式等同;但是對于需求2(更新時間字段),則需要通過觸發器處理。即:
需求1:創建時間字段
CREAT_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP
需求2:更新時間字段
UPDATE_TIME TIMESTAMP
改字段無法通過默認值,指定屬性。需要為這個列指定觸發器:
create or replace trigger your_tablename_update_time
before delete or update on your_tablename
referencing OLD AS "OLD" NEW AS "NEW"
for each row
BEGIN
/*觸發器體*/
IF UPDATING THEN
:new.update_time = CURRENT_TIMESTAMP;
END IF;
exception when others then
null;
END;
/
說明:
1. 實際上在DM或Oracle這個體系內,這個字段,如果有類似續期,都是應用里面自己維護的,而且工作量也很小。比如需求2,也只是update的時候,多update一個字段而已。
2. 如果原先在Mysql上開發,已經為了省事,利用了mysql的對應特性,遷移到DM或Oracle這個體系的時候,可以通過觸發器實現,而不再改任何應用邏輯。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Mysql中update_time時間字段列的處理和遷移改寫案例”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。