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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mybatis自動填充時間欄位MyBatis
- JavaScript 自動更新時間JavaScript
- PostgreSQL自動更新時間戳SQL時間戳
- Linux自動更新時間Linux
- Dynamics CRM使用計算欄位自動計算兩個時間欄位的天數差
- MyBatis自動設定建立時間和更新時間MyBatis
- 根據時間欄位匯入資料的問題總結
- oracle goldengate實現欄位插入時間值OracleGo
- Linux系統自動更新時間Linux
- JavaScript自動更新時間效果詳解JavaScript
- sqlalchemy實現時間列自動更新SQL
- 32 位 PHP 時間戳問題PHP時間戳
- ORACLE 10G下LOB_DATA欄位型別佔滿臨時表空間問題Oracle 10g型別
- SQL Server 自增欄位歸零等問題SQLServer
- oracle時間欄位預設值,hibernate對映Oracle
- MySQL多個timestamp欄位自動新增預設值的問題MySql
- 欄位管理,為什麼只有新增的時候才自動匹配欄位型別型別
- MySQL為欄位新增預設時間(插入時間)MySql
- MySQL 大欄位問題MySql
- [BUG反饋]關於ot模型中的時間型別欄位bug問題模型型別
- oracle連線超時自動斷開問題[轉]Oracle
- MySQL 資料庫技巧:批次更新隨機生成的時間戳欄位MySql資料庫隨機時間戳
- 關於oracle中blob欄位的錄入問題Oracle
- win10如何設定自動更新時間 win10時間不自動同步Win10
- 資料庫欄位問題資料庫
- pandas dataframe 時間欄位 diff 函式函式
- mybatisplus欄位值自動填充MyBatis
- oracle:聯表更新多個欄位的值Oracle
- oracle中如何指定表欄位自增Oracle
- oracle和mysql設定自增欄位OracleMySql
- MySQL中同時存在建立和上次更新時間戳欄位解決方法淺析MySql時間戳
- oracle分割槽表線上重定義欄位not null問題OracleNull
- laravel sync()同步時修改中間表欄位Laravel
- 【EF Core】自動生成的欄位值
- postgresSQL 實現資料修改後,自動更新updated_date/ts等欄位SQL
- Oracle 建表時LOB欄位語法Oracle
- 【Mongo】mongo更新欄位為另一欄位的值Go
- Oracle 基本操作之 建立自增欄位方法-ORACLE SEQUENCEOracle