作者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
1F:推 JoeHorn:坦白说,很少有人用 timestamp 当 PK 的... 06/10 18:34
2F:→ slalala:因为需求面 这只是要记录实验数据 06/10 19:09
3F:推 hougzou:即使你计算到毫秒,MySQL的速度,也让你无法永远避免重复 06/11 00:57
4F:推 hougzou:而既然用了java,直接存date的long值,应该就能满足吧。 06/11 01:06
5F:→ slalala:这点放心 insert的程式写成method 测试过了 保证毫秒安全 06/11 01:08
:不过LONG这建议倒是真的很棒我完全没想到= =
※ 编辑: slalala 来自: 203.73.71.154 (06/11 01:11)
6F:推 diamondking:这样子当初就直接用个流水号当PK不就好了@@ 06/13 20:49