数据库中GUID的生成
GUID, 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) 。 GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于指示产品的唯一性。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。
在 Windows 平台上,GUID 广泛应用于微软的产品中,用于标识如如注册表项、类及接口标识、数据库、系统目录等对象。
在数据库的设计中有时将字段设置成GUID类型,并作为主键,GUID 的生成可以在数据库中也可以在程序中生成,以下总结了GUID在数据库及程序中的不同的生成的方法
一、在数据库中生成 GUID
1. SQL Server
在 SQL Server 中使用 NEWID(),来生成一个GUID,语法如下:
SELECT NEWID()
2. MySQL
在 MySQL 中使用UUID 来生成一个 GUID,语法如下:
SELECT UUID();
3. Oracle
在 Oracle中使用UUID 来生成一个 GUID,语法如下:
SELECT SYS_GUID() FROM DUAL;
二、 在程序中生成 GUID
1. DOT.NET C#
在 C# 中使用 NewGuid(); 来生成,具体如下:
System.Guid.NewGuid().ToString("N"); 32位字符
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
System.Guid.NewGuid().ToString("D"); 连字符分隔的32位字符串
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
System.Guid.NewGuid().ToString("B"); 在大括号中、由连字符分隔的32位字符串
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
System.Guid.NewGuid().ToString("P"); 在圆括号中、由连字符分隔的32位字符串
(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
2. Java
在Java 语言中就不再使用 NewGuid()来生成了,而是使用 UUID ,其语法如下:
java.util.UUID.randomUUID();
数据库中GUID的生成的更多相关文章
- 关于项目中根据当前数据库中最大ID生成下一个ID问题——(五)
1.关于部门管理时候根据上级产生下级部门ID的问题(传入一个参数是上级部门id)
- ASP页面-自动取回数据库中的值生成导航。
以下为自己总结的一点经验,简单的介绍一下方法,如发现有误,请帮忙指正,谢谢. 一,首先定义调用据库. <% dim objconn,objconnstr set objconn=server.c ...
- pycharm 直接删掉数据表之后,makemigration和migrate 之后,数据库中依然没有生成数据表的问题
综合分析一下行程这个问题的原因: 在终端中运行 select * from django_migrations; 查看 提交的记录,如果你的表删掉了,记录还在,那么数据库会觉得,这个表依然是存在的,所 ...
- C#中GUID的生成格式(Guid.ToString方法 )
GUID 是微软对UUID这个标准的实现.UUID是由开放软件基金会(OSF)定义的.UUID还有其它各种实现,不止GUID一种 public string ToString( string ...
- django models.py增加后MySQL数据库中并没有生成相应的表
根据教程到添加并保存quest的时候报错了 1.models.py里面的命名没有错 2.查看mysite->settiongs下的INSTALLED_APPS设置正确 3.使用python ma ...
- django 数据库中的表生成model
https://blog.csdn.net/weixin_34405354/article/details/93582647 还没有证实是否有效
- 数据库中存储日期的字段类型究竟应该用varchar还是datetime ?
背景: 前段时间在百度经验看到一篇文章<如何在电脑右下角显示你(爱人)的名字>,之前也听过这个小技巧,但没真正动手设置过.所以出于好奇就实践了一下. 设置完成后的效果例如以下.右下角的时间 ...
- 使用有序GUID:提升其在各数据库中作为主键时的性能
原文出处:https://www.codeproject.com/articles/388157/guids-as-fast-primary-keys-under-multiple-database ...
- GUID在安全中作用及生成方法
参考改进于http://blog.csdn.net/jcicheng/article/details/743934 全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装.在许多 ...
随机推荐
- 【maven】解决Missing artifact jdk.tools:jdk.tools:jar:1.6
解决在pom.xml文件中出现的Missing artifact jdk.tools:jdk.tools:jar:1.6问题, <dependency> <groupId>jd ...
- ROM, RAM, Flash Memory
ROM Read-only memory (ROM) is a class of storage medium used in computers and other electronic devic ...
- C#托管代码与C++非托管代码互相调用
http://www.cnblogs.com/Jianchidaodi/archive/2009/03/11/1407270.html#1473515 http://www.cnblogs.com/J ...
- Linux命令(15)查看系统版本信息
一,查看Linux内核版本命令(两种方法) 1.cat /proc/version [user@fgejjw7Z home]$ cat /proc/version Linux version -.el ...
- whois配置
$itemRules = array ( 'default' => array ( 'registry_domain_id' => 'Registry Domain ID:(.*?)', ...
- 深入ThreadLocal之二
概述 相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路:ThreadLocal的目的是为了解决多线程访问资 ...
- Web性能压力测试工具之ApacheBench(ab)详解
PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...
- Python补充05 字符串格式化 (%操作符)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输 ...
- Vim 中截取部分内容保存到其他文件
最近无聊,突然想跟着玩玩天池数据挖掘,发现数据好大,想转换到mysql数据库,phpmyadmin import 导入时抱错! 数据文件大大! 于是乎,准备截取一小段到另外一个文件测试先,然后,发现了 ...
- nvelocity模板引擎
using NVelocity.App;using NVelocity.Runtime;using NVelocity; VelocityEngine vltEngine = new Velocity ...