`

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

阅读更多

在生成诸如主键之类的字符串时, 以前我常用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

0
0
分享到:
评论

相关推荐

    uuid.rar_C获得UUID_UUID C_c生成uuid_c语言生成uuid_uuid

    4. **转换和打印**:生成的UUID是二进制形式,需要通过`uuid_unparse()`函数将其转换为字符串形式,便于显示和使用。 标签中的“c获得uuid”、“uuid_c”、“c生成uuid”、“c语言生成uuid”都强调了这是关于C语言...

    uuid 生成器 UUID_GEN.exe

    UUID GEN.exe 是一个基于Java编写的UUID生成器工具,主要用于生成这些具有唯一性的128位数字或字符串。在Java中,UUID是通过java.util.UUID类来生成和操作的。 UUID由16个字节组成,通常用16进制表示,分为5个部分...

    UUID.rar_UUID C_uuid_uuid 加密_uuid.c_wince UUID

    UUID,全称Universally Unique Identifier,是全球唯一的标识符,被广泛应用于软件开发、数据库设计等领域,用于确保数据的唯一性。在给定的“UUID.rar”压缩包中,我们看到涉及UUID的一些关键元素,包括C语言实现、...

    js生成UUID字符串

    js生成UUID,使用var myuuid=(new UUID()).id;其中myuuid的值就是需要UUID。

    PHP实现生成统一唯一标识符UUID

    这段代码中,`create_uuid()`函数首先通过`md5(uniqid(mt_rand(), true))`生成一个基于当前时间戳和随机数的128位字符串,然后根据UUID的格式(32位分为5段,每段之间用'-'分隔)进行切割并拼接。最后,如果提供了...

    UUID-generate-.zip_doc_uuid

    通过将特定的命名空间标识符和任意字符串进行哈希计算,得到的UUID能够反映出输入字符串,但无法反向推导出原始字符串。 4. **Version 4**:纯随机生成。在128位的UUID中,除了6个固定的二进制位,其余都是随机产生...

    uuid.zip_c_there9gy_uuid

    - 生成UUID通常涉及调用`uuid_generate()`函数,然后使用`uuid_unparse()`将其转换为字符串格式。 - 针对不同版本的UUID,可能需要实现不同的生成逻辑,比如V1需要获取当前时间戳和硬件地址,V4则需要大量随机数。...

    java 生成32位UUID

    在Java编程中,UUID(Universally Unique Identifier)是一种用于生成全局唯一标识符的标准。一个UUID由32个16进制数字组成,通常分为五段,用短横线分隔,形如`8-4-4-4-12`的36个字符。在32位UUID中,我们实际上是...

    guidplugin:用于生成随机 UUID 字符串的 IntelliJ IDEA 插件

    随机 UUID 生成器。 这是一个简单的插件,可将随机 UUID 字符串插入到您的文档中。 用法:键入 control-alt-U、control-alt-R(在 OS X 上是命令,而不是控制)。 受到这个启发。

    uuid.rar_uuid

    可能包含了如`uuid_generate()`用于生成新的UUID,`uuid_parse()`解析字符串形式的UUID,以及`uuid_compare()`比较两个UUID是否相同等函数。这些函数的实现通常基于RFC 4122,这是一个定义UUID生成和格式的标准。 ...

    javaScript动态随即生成UUID

    `Math.uuidCompact`函数采用模板字符串和正则表达式进行替换的方式生成UUID,其内部使用`Math.random()`生成随机数,并根据位的位置和类型进行相应的处理,最终返回一个格式化的UUID字符串。 ### 总结 通过以上...

    Java 中将 UUID 存储为 Base64 字符串

    ### Java 中将 UUID 存储为 Base64 字符串 #### 一、引言 在软件开发领域,尤其是在处理大规模分布式系统时,UUID(通用唯一标识符)因其全局唯一性而广泛应用于各种场景,例如作为数据库记录的主键、会话标识等。...

    生成随机字符串1

    然后,`toString()` 方法将生成的UUID对象转换为其标准格式的字符串表示,即形如`8-4-4-4-12`位十六进制数字的字符串,中间由破折号分隔。 接着,`str.replace("-", "")` 使用字符串的replace方法移除所有破折号,...

    返回Long型UUid

    在这个类中,`generateLongUuid()`方法首先通过`UUID.randomUUID()`生成一个标准的UUID,然后去掉其中的连字符(-),得到一个32位的16进制字符串。接着,我们只取这个字符串的前16位,这样就得到了一个16位的16进制...

    唯一uuidid生成器

    这些ID通常由32个16进制数字组成,分为5个部分,表示为36个字符的字符串,如"123e4567-e89b-12d3-a456-426655440000"。UUID的设计允许在不需任何中央协调的情况下生成大量唯一的ID,确保在大规模系统中不会发生冲突...

    Android生成唯一标识符UUID(完全替代IMEI)

    生成的UUID字符串通常形如“550e8400-e29b-41d4-a716-446655440000”,由五组32位的十六进制数字组成,中间用短横线分隔。 然而,UUID作为IMEI的替代存在一些差异。IMEI是硬件级别的标识,与手机硬件绑定,即使用户...

    Java实现产生随机字符串主键的UUID工具类

    在generate()方法中,我们使用了 StringBuffer类来生成最终的UUID字符串。该方法首先获取当前的IP地址、JVM标识符、计数器、时间戳和随机数,然后将其格式化为十六进制字符串并连接起来,最后返回生成的UUID字符串。...

    jasper-1.700.2.uuid_supporth2k_Vc_

    这个名为"jasper-1.700.2.uuid_supporth2k_Vc_"的项目,提供了Jasper库的版本1.700.2,特别强调了对UUID(Universally Unique Identifier)的支持以及在Visual C++(Vc)环境下的编译和构建。 JPEG 2000是一种先进...

    自动生成主键uuid.zip

    在Java编程中,UUID(Universally Unique Identifier)是一种标准的128位的全局唯一标识符,用于生成不可预测、全局唯一的ID。UUID通常由32个16进制数字组成,中间用短横线分隔,形如“8-4-4-4-12”的格式。然而,在...

Global site tag (gtag.js) - Google Analytics