如何在mysql数据库中自动编号(自动增加)guid字段
在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