今天使用了一下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)
我們來看一下函數定義:
DATE_ADD(date,INTERVAL expr type) 函數向日期添加指定的時間間隔。
date
參數是合法的日期運算式。expr
參數是您希望添加的時間間隔。
本例中我們從UNIX紀元'1970-01-01 00:00:00'開始,計算到`timeline`為止的時間間隔(用秒SECOND為單位)。
`timeline`是源表A中的原始欄位,int類型,表示寫入記錄的時間。
`updatetime`是目標表target中對應的時間欄位,TIMESTAMP類型。
匯入後的資料格式如下:
2010-06-30 09:07:12
好了。關於匯入資料的技巧,請參見上次我寫的文章:完整匯入資料表時忽略主鍵的方法
http://blog.csdn.net/ciray/archive/2010/08/21/5828988.aspx