oracle 時間欄位自動更新問題
MySql的timestamp型別跟oracle裡有很大不同
以前一直用oracle,今天用mysql建表,發現一些問題:
在mysql裡timestamp型別預設情況下為 不允許為空,並且預設值為current_timestamp
最後發現MySql這麼規定是有原因的:
timestamp其實是MYSQL幫我們實現的一個updateTime型別
一條新資料插入時,它會自動被賦值為當前資料庫時間(current_timestamp)
當這條資料的任何一列發生更改時,它的值會自動更新為當前時間(current_timestamp)
一般我們建表的時候都習慣加上,create_time 和 update_time 兩個欄位。方便日後一些分析
oracle裡建表常用的方式如下,更新資料時sql裡顯式的更新update_time欄位
create_time TIMESTAMP default systimestamp,
update_time TIMESTAMP,
msyql裡應該這樣,
我們不需再去考慮update_time更新的問題了,每次更新此某行資料時update_time會自動更新
但是DATETIME是無法設定預設值的,也就要求我們insert資料時,必須設定create_time 的值為now()
create_time DATETIME not null,
update_time TIMESTAMP,
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-1218360/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 更新欄位時更新時間不自動更新(不更新 updated_at 欄位)
- mybatis自動填充時間欄位MyBatis
- JavaScript 自動更新時間JavaScript
- Dynamics CRM使用計算欄位自動計算兩個時間欄位的天數差
- PostgreSQL自動更新時間戳SQL時間戳
- Linux系統自動更新時間Linux
- MyBatis自動設定建立時間和更新時間MyBatis
- 32 位 PHP 時間戳問題PHP時間戳
- JavaScript自動更新時間效果詳解JavaScript
- sqlalchemy實現時間列自動更新SQL
- MySQL 大欄位問題MySql
- [BUG反饋]關於ot模型中的時間型別欄位bug問題模型型別
- MySQL為欄位新增預設時間(插入時間)MySql
- 欄位管理,為什麼只有新增的時候才自動匹配欄位型別型別
- mybatisplus欄位值自動填充MyBatis
- MySQL 資料庫技巧:批次更新隨機生成的時間戳欄位MySql資料庫隨機時間戳
- pandas dataframe 時間欄位 diff 函式函式
- win10如何設定自動更新時間 win10時間不自動同步Win10
- [20231020]增加欄位的問題.txt
- laravel sync()同步時修改中間表欄位Laravel
- postgresSQL 實現資料修改後,自動更新updated_date/ts等欄位SQL
- 【EF Core】自動生成的欄位值
- 【Mongo】mongo更新欄位為另一欄位的值Go
- 金蝶雲星空欄位之間連續觸發值更新
- Oracle-欄位的新增Oracle
- ThinkPHP3.2.3 欄位對映/自動驗證/自動完成PHP
- 給mybatis新增自動建表,自動加欄位的功能MyBatis
- 關於日期及時間欄位的查詢
- 在 Laravel 中自動維護 slug 欄位Laravel
- 介面自動化全量欄位校驗
- springboot~jpa審計欄位的自動填充Spring Boot
- windows10系統設定時間自動更新的方法Windows
- Oracle EXPDP自動備份緩慢問題解決Oracle
- Oracle 自動備份觸發ORA-01513問題Oracle
- DB2_更新SQL欄位DB2SQL
- es 更新指定欄位的方法
- Mysql時間欄位格式如何選擇,TIMESTAMP,DATETIME,INT?MySql
- ORACLE LOB大欄位維護Oracle
- oracle fga審計(欄位級)Oracle