今天使用了一下mysql中的timestamp型別,以往儲存時間都是使用整型的unix時間戳,而今天的表結構發生了變化,下面分享一下timestamp型別的基本使用方法。
字段:updatetime
型別:timestamp
長度:空
預設:current_timestamp
屬性:on update current_timestamp
插入和更新時,不必填寫該欄位,因為屬性為on update current_timestamp,mysql將在插入/更新時自動用當前時間進行填充,
資料格式如下:
2010-08-23 15:14:30
下面又要討論如何匯入資料了,將int(11)型別轉換成timestamp型別,使用下面的sql語句即可:
insert into target
(`name`,`updatetime`) select `name`,date_add('1970-01-01 00:00:00', interval `timeline` second) from a ;
上面這行sql語句的作用是將源表a中的資料匯入到target表,
注意了,int轉timestamp型別使用了這個函式:
date_add('1970-01-01 00:00:00', interval `timeline` second)
我們來看一下函式定義:本例中我們從unix紀元'1970-01-01 00:00:00'開始,計算到`timeline`為止的時間間隔(用秒second為單位)。date_add(date,interval expr type) 函式向日期新增指定的時間間隔。
date
引數是合法的日期表示式。expr
引數是您希望新增的時間間隔。
`timeline`是源表a中的原始字段,int型別,表示寫入記錄的時間。
`updatetime`是目標表target中對應的時間字段,timestamp型別。
匯入後的資料格式如下:
2010-06-30 09:07:12
好了。關於匯入資料的技巧,請參見上次我寫的文章:完整匯入資料表時忽略主鍵的方法
mysql中timestamp的使用
mysql中timestamp的使用 mysql create table t1 id mediumint 9 not null auto increment,name char 11 default null,rq timestamp default current timestamp on up...
MYSQL中TIMESTAMP型別的預設值
mysql中timestamp型別的預設值 mysql中timestamp型別可以設定預設值,就像其他型別一樣。表 table create table t1 create table t1 p c int 11 not null,p time timestamp not null default ...
mysql表中時間timestamp設計
如圖所示,mysql資料庫中,當欄位型別為timestamp時,如果預設值取current timestamp,則在insert一條記錄時,end time的值自動設定為系統當前時間,如果勾選了 on update current timestamp 則時間欄位會隨著update命令進行實時更新,即...