怎樣實現資料庫裏的年齡可以隨著時間增加而增長(用MySQL)?
你存個出生日期,讀的時候減出來不好嘛?還省一個存儲欄位。
可以使用生成列,將年齡根據出生年齡和當時日期生成,或者使用視圖來完成。
案例如下:
--由於目前生成列不支持函數,所以必須要維護當前數據更新時間。
使用視圖來實現(以前沒生成列的方案):
--此方案不需要定期更新 數據,但是多創建了一個視圖
參考官方文檔:
13.1.20.8 CREATE TABLE and Generated Columns
寫個腳本自動去更新
用的時候再去算不行嗎,沒必要每次更新吧
可以試著寫個觸發器
一般年齡這種欄位是不會存的,一般存的是出生年月日或者入庫時間,後期頁面展示根據當前時間和存儲的時間進行操作得到的
用觸發器,或者視圖實現
你要存的不是年齡,而是足夠計算出來年齡的數據
所以只需要存入出生日期就行了,讀取數據後可以後端處理成年齡,也能前端處理
視圖吧,感覺最靠譜
推薦閱讀: