在sql-server中有自動增加guid字段的函數。如何在mysql數據庫中自動編號(自動增加)guid字段
CREATEGUID()
我該怎麼在Mysql中做同樣的事情? 我是數據庫編程的新手。 我想創建主鍵字段16字節自動遞增。
在sql-server中有自動增加guid字段的函數。如何在mysql數據庫中自動編號(自動增加)guid字段
CREATEGUID()
我該怎麼在Mysql中做同樣的事情? 我是數據庫編程的新手。 我想創建主鍵字段16字節自動遞增。
您可以創建一個BEFORE INSERT觸發器來檢查自動增量guid字段的新值,如果它爲NULL,則設置value = UUID()。
此功能也可能會有用 - UUID_SHORT()。
UUID_SHORT() - 返回一個「short」通用標識符作爲64位無符號整數(而不是由UUID()函數返回的字符串形式的128位標識符)。
MySQL有UUID()函數,它返回char/varchar。例如,您可以使用BINARY(16)或CHAR(36)來保存這樣的數據(二進制文件在插入前需要進行一些數據轉換)。
但MySQL只支持AUTO_INCREMENT數字數據類型。
是guid支持自動增量? – 2012-04-05 14:34:21
@ShadiSaeed在MySQL中沒有像UNIQUEIDENTIFIER這樣的數據類型。你可以使用char/varchar或binary來存放guid。這些數據類型不允許使用auto_increment。 – 2012-04-05 14:36:21
:)非常感謝:) – 2012-04-05 14:53:23
http://dev.mysql.com/doc/refman/5.1/en/example-auto-increment.html – silly 2012-04-05 13:55:36
只是澄清 - 在MSSQL服務器,獲得一個新的GUID,你會打電話給NEWID( )。要獲得比先前創建的GUID大的GUID,可以使用NEWSEQUENTIALID()。 AFAIK,CREATEGUID()不存在。 – 2012-04-05 14:16:49
@silly謝謝,這幫助了我。 – 2012-04-05 14:29:21