MySQL中,有无GUID函数?就像SQL Server中的newid()解决方法_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2912 | 回复: 0   主题: MySQL中,有无GUID函数?就像SQL Server中的newid()解决方法        下一篇 
曹先丰
注册用户
等级:中士
经验:208
发帖:72
精华:0
注册:2012-1-9
状态:离线
发送短消息息给曹先丰 加好友    发送短消息息给曹先丰 发消息
发表于: IP:您无权察看 2014-11-18 11:10:44 | [全部帖] [楼主帖] 楼主

MySQL中,有无GUID函数?就像SQL Server中的newid()


如题!

有无直接返回GUID唯一标识的函数?

------解决思路----------------------

函数 UUID()

mysql> select uuid();
+--------------------------------------+
| uuid() |
+--------------------------------------+
| f6561a2e-8a6d-102a-a914-5ecff55cee93 |
+--------------------------------------+
1 row in set (0.00 sec)
------解决思路----------------------


有,但只能在windows服务器上用com_create_guid

------解决思路----------------------
UUID()


返回一个通用唯一标识符(UUID) ,其产生的根据是《DCE 1.1: 远程过程调用》 (附录A) CAE (公共应用软件环境) 的说明,该作品于1997年10月由 The Open Group 出版 (文件编号 C706, http://www.opengroup.org/public/pubs/catalog/c706.htm).

UUID被设计成一个在时间和空间上都独一无二的数字。2个对UUID() 的调用应产生2个不同的值,即使这些调用的执行是在两个互不相连的单独电脑上进行。

UUID 是一个由5位十六进制数的字符串表示的128比特数字 ,其格式为 aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee :

前3个数字从一个时间戳产生。

第4 个数字保持暂时唯一性,以防时间戳值失去单一性 (例如, 由于经济时)。

第5个数字是一个 IEEE 802 节点号,它提供空间唯一性。若后者不可用,则用一个随机数字替换。 (例如, 由于主机没有以太网卡,或我们不知道怎样在你的操作系统上找到界面的机器地址 )。假若这样,空间唯一性就不能得到保证。尽管如此,一个冲突的发生机率还是非常低的。

目前,一个界面的 MAC 地址尽被FreeBSD 和 Linux考虑到。在其它操作系统中, MySQL使用随机产生的 48比特数字。

mysql> SELECT UUID();
-> '6ccd780c-baba-1026-9564-0040f4311e29 '


注意, UUID() 不支持复制功能。

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论