GUID 全局唯一標識符(GUID,Globally Unique Identifier)是一種由算法生成的二進制長度為128位的數字標識符。GUID主要用於在擁有多個節點、多台計算機的網絡或系統中。在理想情況下,任何計算機和計算機集群都不會生成兩個相同的GUID。GUID 的總數達到了2128(3.4×1038)個,所以隨機生成兩個相同GUID的可能性非常小,但並不為0。所以,用於生成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;
4. PostgreSQL
在 PostgreSQL中使用UUID 來生成一個 GUID,PostgreSQL 支持 UUID(Guid) 類型,但是卻不能直接去用,因為默認安裝的 postgresql 是不帶 UUID 函數的,操作如下:
第一個命令 create extension "uuid-ossp" 是安裝 uuid_generate_v4() 擴展函數;
第二個命令 select uuid_generate_v4() 是檢驗函數,下面是生成的結果。
例子(mysql為例):其他數據庫只需要更換括號在中的查詢即可
UPDATE Students SET id=(SELECT UUID());