由于数据库中有一个表的主键类型为varchar(32),而在hibernate中的类型为uuid.hex。所以想通过sqlserver中直接通过写insert into的sql语句来自动生成主键,可采用:
select REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','')
本文介绍了一种在SQLServer中生成varchar(32)类型主键的方法,利用NEWID()结合GETDATE()函数生成唯一标识符,并通过REPLACE函数去除连接符。
由于数据库中有一个表的主键类型为varchar(32),而在hibernate中的类型为uuid.hex。所以想通过sqlserver中直接通过写insert into的sql语句来自动生成主键,可采用:
select REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','')
1412
612
2603
1138

被折叠的 条评论
为什么被折叠?
