作者slalala (WIKI大學生寫作業的題材)
看板Database
標題[MYSQL] 關於MYSQL的TIMESTAMP
時間Tue Jun 10 15:20:15 2008
第一次使用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