看板 Database 關於我們 聯絡資訊
第一次使用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
JoeHorn:坦白說,很少有人用 timestamp 當 PK 的... 06/10 18:34
slalala:因為需求面 這只是要記錄實驗數據 06/10 19:09
hougzou:即使你計算到毫秒,MySQL的速度,也讓你無法永遠避免重複 06/11 00:57
hougzou:而既然用了java,直接存date的long值,應該就能滿足吧。 06/11 01:06
slalala:這點放心 insert的程式寫成method 測試過了 保證毫秒安全 06/11 01:08
:不過LONG這建議倒是真的很棒我完全沒想到= = ※ 編輯: slalala 來自: 203.73.71.154 (06/11 01:11)
diamondking:這樣子當初就直接用個流水號當PK不就好了@@ 06/13 20:49