Oracle自动生成主键&&UUID

本文介绍了在Oracle数据库中如何通过sys_guid()函数自动生成唯一ID,以及在Java中利用UUID.randomUUID().toString()生成36位唯一字符串作为主键的方法。还展示了Java中处理UUID和日期的相关代码示例。
摘要由CSDN通过智能技术生成

在使用Oracle的时候,需要添加一个唯一的主键,一般使用的是36位的唯一的字符串,我们有两种方式

 

转自: http://hbiao68.iteye.com/blog/1493759

一、使用数据库自动生成的方式,自动添加唯一的ID值

 

Sql代码   收藏代码
  1. create table t_log(  
  2.     ssid varchar2(36) default sys_guid() primary key,  
  3.     type varchar2(10),  
  4.     detail varchar2(100)  
  5. );  
  6.   
  7. default sys_guid()这个函数时Oracle自带的,在插入数据的时候不用插入该字段就会自动生成  
  8.   
  9. insert into t_log(type,detail)values('1','测试无主键');  

 

 

数据库中,主键是表中每一行记录的唯一标识符,通常用于确保数据的唯一性。在设计数据库时,为了保证数据的唯一性和完整性,经常需要设置主键字段。在许多情况下,主键自动生成的,这样可以避免手动分配主键值时可能出现的重复或错误,以及提高数据插入的效率。SQL中实现主键自动生成的方式依赖于所使用的数据库管理系统(DBMS),以下是一些常见的方法: 1. 使用自增字段(Auto Increment):这是最常用的方法,特别是在关系数据库如MySQL、PostgreSQL、SQLite和SQL Server中。创建一个整数类型的字段,并将其设置为自增,每当有新的记录插入时,数据库会自动为这个字段分配一个递增的数值。 例如,在MySQL中创建一个带有自增主键的表: ```sql CREATE TABLE example_table ( id INT AUTO_INCREMENT PRIMARY KEY, column1 VARCHAR(255), column2 INT ); ``` 2. 使用序列(Sequence):在Oracle数据库中,经常使用序列生成主键值。序列可以生成一组连续的数值,可以在插入新记录时引用序列的下一个值作为主键。 例如,在Oracle中创建一个带有序列的表: ```sql CREATE SEQUENCE example_seq START WITH 1 INCREMENT BY 1; CREATE TABLE example_table ( id NUMBER PRIMARY KEY, column1 VARCHAR(255), column2 INT ); INSERT INTO example_table (id, column1, column2) VALUES (example_seq.NEXTVAL, 'example_value', 0); ``` 3. 使用UUID(Universally Unique Identifier):对于分布式系统或需要跨多个数据库或服务生成唯一标识的应用,可能会使用UUID作为主键UUID是一种可以在全球范围内唯一标识对象的标准方法,它生成的值是由32个十六进制数字组成的字符串,通常用破折号分隔为五组。 例如,在PostgreSQL中使用UUID作为主键: ```sql CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE TABLE example_table ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), column1 VARCHAR(255), column2 INT ); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值