MySQL 資料庫的時間溢位問題

更新於 發佈於 閱讀時間約 2 分鐘
UNIX 在設計時,用 32 位元為基礎設計,Timestamp (time_t 結構) 順理成章也是 32 位元 (signed int32),從 1970 年開始算,導致它能記錄的時間在 2038 年會溢位變負數。
二進位的 00000000 00000000 00000000 00000001
為 1970/01/01 00:00:00
二進位的 01111111 11111111 11111111 11111111
為 2038/01/19 03:14:07
而在 64bits 的 Linux 中,MySQL 用 timestamp 型態仍然會有這個問題。所以在開發網站,若變成很熱門的網站後,到了 2038 年,跟時間有關的部份就會科科。
timestamp 型態 query 測試驗證:
create table tstest (ts timestamp); 
insert into tstest values ('1895–10–22'); # 日本統治台灣
insert into tstest values ('2047–08–17'); # 貓王的歌曲變公開版權
結果 select * from tstest 時,只會看到二筆 0000–00–00 00:00:00
目前解決方法是用 datetime 型態
create table dttest (dt datetime); 
insert into dttest values ('1895–10–22'); # 日本統治台灣
insert into dttest values ('2047–08–17'); # 貓王的歌曲變公開版權
之後 select * from dttest 時, 會看到剛才二筆資料都正確顯示
MySQL 日後 timestamp 會不會變成 64bits? 問甲骨文的 Lawrence Ellison

本文稍早發佈於 Medium
為什麼會看到廣告
avatar-img
2會員
26內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
WILSON PENG的沙龍 的其他內容
有一種狀況,URL GET method 有設變數,卻是空值 http://foo.bar.xxx/idol.php?IdolGroup= 這時,變數就算初始化也還是 null, 不會變成預設值
程式如下: 跑了五次,每次判斷一千萬回 f1() 陣列的方式: 5.2219750881195 5.194901943
這支 PHP 的小程式,輸入時間,會顯示回傳的時間: 放在 command line 執行,如下: $ php cst.php “2018–04–01 00:00:00 cst” 多了 14 小時,好神奇。 追 PHP Source 好了,看問題在哪。找到這支定義時區的設定: timezonemap
IPv4 Private IP RFC 1918 定義三段 Private IP: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 一般 NAT 用。這是大家都熟悉的 IP, 後來又多了一些 IP 可以用: RFC 6598 新增的 Private IP: 100
我喜歡撫摸著她的感覺,手指在她身上游移….
新界粉嶺 孔明下降之乩語 我不知道預言是什麼狀況,但是看到近九十年前的可考鸞文,覺得真是神奇。有些預言完全命中,有些預言似乎不準,有些則待日後再回頭看有沒有猜對。
有一種狀況,URL GET method 有設變數,卻是空值 http://foo.bar.xxx/idol.php?IdolGroup= 這時,變數就算初始化也還是 null, 不會變成預設值
程式如下: 跑了五次,每次判斷一千萬回 f1() 陣列的方式: 5.2219750881195 5.194901943
這支 PHP 的小程式,輸入時間,會顯示回傳的時間: 放在 command line 執行,如下: $ php cst.php “2018–04–01 00:00:00 cst” 多了 14 小時,好神奇。 追 PHP Source 好了,看問題在哪。找到這支定義時區的設定: timezonemap
IPv4 Private IP RFC 1918 定義三段 Private IP: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 一般 NAT 用。這是大家都熟悉的 IP, 後來又多了一些 IP 可以用: RFC 6598 新增的 Private IP: 100
我喜歡撫摸著她的感覺,手指在她身上游移….
新界粉嶺 孔明下降之乩語 我不知道預言是什麼狀況,但是看到近九十年前的可考鸞文,覺得真是神奇。有些預言完全命中,有些預言似乎不準,有些則待日後再回頭看有沒有猜對。
你可能也想看
Google News 追蹤
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
2024才半年,已經重演多少歷史了?這是土海合雙魚/白羊前的大結算?下半年還有冥王退回摩羯/海王雙魚/天王金牛的小三角,木星雙子8月四分土星雙魚,然後明年土天海冥都要換星座,會更精采。藍白政黨國會擴權跟中國裡應外合,台灣還會有大事吧!去年的人選之人跟Me Too,今年的零日攻擊與藍白第五縱隊,都有神
Thumbnail
2024/07/08 [今日交易] 今天因為一筆做錯了,搞得整天都是在補洞, 最後也沒把洞填滿,只好當作錯誤的代價, 原本想說2328真的有在拉,看看3306能不能跟, 雖然有覺得走勢不太對勁,但是看2328又再往上推, 想說再觀察一下,結果下去的速度很快, 賣壓非常的重,只能趕快損一
Thumbnail
如同標題 昨天夜盤本來抓到原先目標21053~20162 但沒過30分鐘就立即尬過去,加上籌碼繼續翻多。 早上起來就已經看到21170,睡覺前也提醒群組說倒莊會上21200... 倒莊是什麼意思?就是當有一方主力籌碼原先很有優勢 可是指數漲或跌超過他的停損,他就開始停損. 例如21100
Thumbnail
某種程度來說,也算是相當有時間觀念(?)。
Thumbnail
本文介紹了 MyISAM 和 InnoDB 儲存引擎原理的區別和比較,並從讀取效率和寫入效率、結構、任務以及操作等方面探討了兩者的差異。
Thumbnail
19767有壓力,因今日靠近此位置有2萬口的成交量,下方主要支撐區域為19523~19589。
Thumbnail
Notion內建的日期欄位,可以調整顯示英文的日期格式 但是若想要顯示台灣的民國、中文的星期、或是日本的平成昭和幾年要怎麼做呢? 透過Notion formula只要填好日期,就可自動呈現出台灣民國年度、台灣星期、年齡計算、距離今年過了幾年/是幾年後等等,各種格式的函數Notion模板免費索取!
※ MySQL是什麼? MySQL是一種開源(免費)的關聯式資料庫管理系統,所以任何人都可以免費使用,是Web開發中最常用的資料庫之一。MySQL 會將資料儲存在由資料列與資料欄組成的資料表中。使用者可使用結構化查詢語言 (通常稱為 SQL) 來定義、操控、控管及查詢資料。  簡單來說,資料
Thumbnail
恭喜各位都平平安安跨入2024! 每年最後一天倒數,總會順利進入到下個年度,這似乎是很稀鬆平常的事,但大家知道嗎? 1999年要跨到2000年,對全球的資訊工作者而言,是個很難忘的一天,也許對各行各業的從業人員也是,因為大家都有一個關注的問題即將發生。 在1990年代,科技蓬勃發
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
2024才半年,已經重演多少歷史了?這是土海合雙魚/白羊前的大結算?下半年還有冥王退回摩羯/海王雙魚/天王金牛的小三角,木星雙子8月四分土星雙魚,然後明年土天海冥都要換星座,會更精采。藍白政黨國會擴權跟中國裡應外合,台灣還會有大事吧!去年的人選之人跟Me Too,今年的零日攻擊與藍白第五縱隊,都有神
Thumbnail
2024/07/08 [今日交易] 今天因為一筆做錯了,搞得整天都是在補洞, 最後也沒把洞填滿,只好當作錯誤的代價, 原本想說2328真的有在拉,看看3306能不能跟, 雖然有覺得走勢不太對勁,但是看2328又再往上推, 想說再觀察一下,結果下去的速度很快, 賣壓非常的重,只能趕快損一
Thumbnail
如同標題 昨天夜盤本來抓到原先目標21053~20162 但沒過30分鐘就立即尬過去,加上籌碼繼續翻多。 早上起來就已經看到21170,睡覺前也提醒群組說倒莊會上21200... 倒莊是什麼意思?就是當有一方主力籌碼原先很有優勢 可是指數漲或跌超過他的停損,他就開始停損. 例如21100
Thumbnail
某種程度來說,也算是相當有時間觀念(?)。
Thumbnail
本文介紹了 MyISAM 和 InnoDB 儲存引擎原理的區別和比較,並從讀取效率和寫入效率、結構、任務以及操作等方面探討了兩者的差異。
Thumbnail
19767有壓力,因今日靠近此位置有2萬口的成交量,下方主要支撐區域為19523~19589。
Thumbnail
Notion內建的日期欄位,可以調整顯示英文的日期格式 但是若想要顯示台灣的民國、中文的星期、或是日本的平成昭和幾年要怎麼做呢? 透過Notion formula只要填好日期,就可自動呈現出台灣民國年度、台灣星期、年齡計算、距離今年過了幾年/是幾年後等等,各種格式的函數Notion模板免費索取!
※ MySQL是什麼? MySQL是一種開源(免費)的關聯式資料庫管理系統,所以任何人都可以免費使用,是Web開發中最常用的資料庫之一。MySQL 會將資料儲存在由資料列與資料欄組成的資料表中。使用者可使用結構化查詢語言 (通常稱為 SQL) 來定義、操控、控管及查詢資料。  簡單來說,資料
Thumbnail
恭喜各位都平平安安跨入2024! 每年最後一天倒數,總會順利進入到下個年度,這似乎是很稀鬆平常的事,但大家知道嗎? 1999年要跨到2000年,對全球的資訊工作者而言,是個很難忘的一天,也許對各行各業的從業人員也是,因為大家都有一個關注的問題即將發生。 在1990年代,科技蓬勃發