細節決定成敗-mysql中的時間儲存(datetime,timestamp,int),-mysqltimestamp

來源:互聯網
上載者:User

細節決定成敗-mysql中的時間儲存(datetime,timestamp,int),-mysqltimestamp

在mysql中儲存時間,我們可以用datetime 格式,timestamp格式,也可以用int格式。那麼我們設計的時候該如何考慮呢?


首先,我覺得應該明白這幾個格式究竟是如何的,然後看看他們的區別,這樣我們才能思考何時使用正確的格式。


DATETIME格式,預設是"YYYY-MM-DD HH:MM:SS",這19個字元表示的,從1000-01-01 00:00:00-9999-12-31 23:59:59 。


TIMESTAMP格式也是'YYYY-MM-DD HH:MM:SS'這樣的,與DATETIME不同的地方是,它的年份取值範圍是1970-2037。


INT 的格式就是整數的形式,它可以控制位元,一般我們設定成10位就可以了。


那麼什麼時候使用DATETIME呢,當要顯示的格式比較固定,就是顯示年月日,時分秒這樣的格式的時候,就採用這個方式,timestamp雖然較datetime的範圍小,但是一般我們認為他的範圍也是足夠大的了,此外它還可以設定為更新的時候,自動修改值,也就是說當我們修改資料庫,比如插入或者更新的時候,這個欄位當我們設定成

CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,時,它就會自動填入當前的時間。


那麼何時使用int呢,本來int不應該是時間格式,但是我們經過大量的編程實踐發現,我們平時在php編程中,經常需要格式化顯示時間,比如只顯示年月日,如果資料庫中存入的是int類型的時間,那麼我們可以直接使用php的內建函數date()來轉換了,非常的方便,而且對於時間的比較也更加的容易,因為是int類型,可以直接比較大小就可以比較時間了。


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.