首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用毫秒创建Mysql unix_timestamp

如何用毫秒创建Mysql unix_timestamp
EN

Stack Overflow用户
提问于 2014-04-15 04:21:54
回答 1查看 1.1K关注 0票数 0

我有一个php函数,使用mysql查询UNIX_TIMESTAMP()来创建一个唯一的事务号,但是我发现如果函数循环在同一时间,它将为案例1生成相同的事务号,使用案例2并不是一个很好的巨大循环方式。

1.在表列表中,我使用事务号对相同的事务日期进行排序。

2.我的事务表使用UUID作为PK,因为数据跨DB。

的愿望答案如下所示,并且是独一无二的.

代码语言:javascript
复制
TransNo = 1397533879.20290

PHP版本5.3

Mysql 5.5版

例如,函数循环3次

案例1 :

代码语言:javascript
复制
SELECT UNIX_TIMESTAMP() as TransNo;

Output : 
1397533879
1397533879
1397533879

案例2 :

代码语言:javascript
复制
SELECT UNIX_TIMESTAMP() as TransNo, SLEEP(1);

Output :
1397533879
1397533880
1397533881
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-15 04:54:15

欲望的答案就像下面一样,独一无二。 TransNo = 1397533879.20290

如果您对current_timestampnow函数进行了精确的microseconds部件调用,那么它们将返回包含当前微秒时间的timestamp。请注意,允许的最大精度仅适用于6数字。

参见关于http://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html的文档

示例1

代码语言:javascript
复制
select 
    @ts:=current_timestamp( 3 ) cts_with_milli_seconds
  , unix_timestamp( @ts ) uts_with_ts_milli_seconds;

结果1

代码语言:javascript
复制
+-------------------------+---------------------------+
| cts_with_milli_seconds  | uts_with_ts_milli_seconds |
+-------------------------+---------------------------+
| 2014-04-15 10:22:17.764 |         1397537537.764000 |
+-------------------------+---------------------------+

示例2

代码语言:javascript
复制
select 
    @nw:=now( 6 ) now_with_milli_seconds
  , unix_timestamp( @nw ) uts_with_nw_milli_seconds;

结果2

代码语言:javascript
复制
+----------------------------+---------------------------+
| now_with_milli_seconds     | uts_with_nw_milli_seconds |
+----------------------------+---------------------------+
| 2014-04-15 10:22:17.789248 |         1397537537.789248 |
+----------------------------+---------------------------+

边注

如果仍然是微秒部分也匹配,那么您可以附加RAND()到您的值。

RAND()的使用不能保证排序顺序。因此,除非只需要一个唯一的输出,否则不要使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23074618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档