我有一個php函數使用mysql查詢UNIX_TIMESTAMP()來創建一個唯一的事務號,但是我發現如果函數在同一時間循環,它會爲Case 1生成相同的事務號,使用案例2不是一個巨大循環的好方法。如何用毫秒創建Mysql unix_timestamp
1.我使用的交易號是用於在表中列出相同的交易日期。
2.我的事務表使用UUID作爲PK,因爲數據跨越了數據庫。
慾望的答案就像下面和唯一。
TransNo = 1397533879.20290
PHP 5.3版
MySQL版本5.5
例如函數循環3次
案例1:
SELECT UNIX_TIMESTAMP() as TransNo;
Output :
1397533879
1397533879
1397533879
案例2:
SELECT UNIX_TIMESTAMP() as TransNo, SLEEP(1);
Output :
1397533879
1397533880
1397533881
爲什麼不在PHP中使用microtime? http://us2.php.net/microtime –
Ohya,謝謝@Joshua Bixler,我忘了php有這個功能。但是,無論如何,mysql是否能夠做到這一點? –
http://stackoverflow.com/questions/8979558/mysql-now-function-with-high-precision 不得不跳過版本5.6使用它看起來像。 –