[MYSQL] 關於MYSQL的TIMESTAMP

看板Database作者 (WIKI大學生寫作業的題材)時間17年前 (2008/06/10 15:20), 編輯推噓4(402)
留言6則, 4人參與, 最新討論串1/1
第一次使用MYSQL開發程式, 結果碰到自己想都沒想過的問題。 之前是使用MS SQL建置資料庫,使用CURRENT_TIMESTAMP 可以輸入當下的即時時間,而精確度可以到毫秒。 因為現在做的數據測試紀錄程式,有時候數據會在同一秒中產生 四到五個資料量。 資料庫的欄位上已經規劃以時間當作是主鍵,測試項目為外鍵。 想當然,要是同一秒鐘出現四到五個資料量,MYSQL的TIMESTAMP一定會爆炸, 畢竟精確度只到秒。 原本不相信這件事情,google一下MYSQL的網站發現, 時間最精確只到yyyy/mm/dd hh:mm:ss的事實( ̄□ ̄|||)a google結果 有些老外也在哀嚎說"MYSQL datetime什麼時候支援毫秒?" 我最後用的笨方法是用java程式產生datetime 之後TABLE多一個INTEGER欄位去紀錄毫秒,並與時間產生組合鍵。 這樣就不會出現例外了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.73.71.154

06/10 18:34, , 1F
坦白說,很少有人用 timestamp 當 PK 的...
06/10 18:34, 1F

06/10 19:09, , 2F
因為需求面 這只是要記錄實驗數據
06/10 19:09, 2F

06/11 00:57, , 3F
即使你計算到毫秒,MySQL的速度,也讓你無法永遠避免重複
06/11 00:57, 3F

06/11 01:06, , 4F
而既然用了java,直接存date的long值,應該就能滿足吧。
06/11 01:06, 4F

06/11 01:08, , 5F
這點放心 insert的程式寫成method 測試過了 保證毫秒安全
06/11 01:08, 5F
:不過LONG這建議倒是真的很棒我完全沒想到= = ※ 編輯: slalala 來自: 203.73.71.154 (06/11 01:11)

06/13 20:49, , 6F
這樣子當初就直接用個流水號當PK不就好了@@
06/13 20:49, 6F
文章代碼(AID): #18JYinrl (Database)