当前位置:首页 > 开发 > 数据库 > 正文

DB2生成类似UUID的字符串GENERATE_UNIQUE()

发表于: 2014-03-03   作者:Azurer   来源:转载   浏览次数:
摘要: 在生成诸如主键之类的字符串时, 以前我常用identity, 遗憾这类identity做外键时由于需要数据库迁移而导致发生变化, 不可靠, 因此UUID是一个不错的选择, 虽然性能差了一些.   可惜DB2不提供生成UUID的方法, 但是提供了GENERATE_UNIQUE()函数来生成唯一字符串, 但是要求也不少. 首先使用GENERATE_UNIQUE()函数生成的uniqu

在生成诸如主键之类的字符串时, 以前我常用identity, 遗憾这类identity做外键时由于需要数据库迁移而导致发生变化, 不可靠, 因此UUID是一个不错的选择, 虽然性能差了一些.

 

可惜DB2不提供生成UUID的方法, 但是提供了GENERATE_UNIQUE()函数来生成唯一字符串, 但是要求也不少.

首先使用GENERATE_UNIQUE()函数生成的unique ID的列必须声明为FOR BIT DATA, 即在建表的时候需要指定该column为FOR BIT DATA类型.

 

在插入数据的时候, 直接使用GENERATE_UNIQUE()函数就可以了.

 

步骤如下, 首先定义一个TEST表

CREATE TABLE test(unique_id CHAR(13) FOR BIT DATA, name VARCHAR(20)

 

然后测试插入数据

INSERT INTO test VALUES(GENERATE_UNIQUE(), 'Alex')

 

select查询数据得到

UNIQUE_ID                                   NAME
-----------------------------               --------------------
x'20140303070226123986000000'               Alex

 

详细解释在infocenter

http://pic.dhe.ibm.com/infocenter/db2luw/v10r5/index.jsp

DB2生成类似UUID的字符串GENERATE_UNIQUE()

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifie
原文:http://www.cnblogs.com/bjzhanghao/archive/2008/07/24/1250873.html 缺省条件下,EMF不会为
缺省条件下,EMF不会为每个对象维护一个唯一的id,这在一些情况下不太方便,例如要在web环境下编辑
首先声明,我是一个菜鸟。一下文章中出现技术误导情况盖不负责 POCO C++库学习和分析 -- UUID 1. 概
// 获取长度为len的随机字符串 function _getRandomString(len) { len = len || 32; var $chars = '
自己开发了一个插件链接:http://awjiyvyzrt.l5.yunpan.cn/lk/Q96Iqf76iSfnJ 最好自己学习使用andro
利用.NET生成数据库表的创建脚本,类似SqlServer编写表的CREATE语句 (喷血分享)利用.NET生成数据
为你的类库生成类似于MSDN的帮助文档 .net开发人员都知道大名鼎鼎的MSDN帮助文章,对VS2008的MSDN帮
Zencart 使用 Paypal 付款,会出现漏单的情况,即 paypal 已经收到客户的付款,但是网站后台没有客
有同学问到MySQL的uuid这个函数。简要介绍一下。 用法 简单看到,这个值,每次执行都是不同的。 生
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号