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();