我即将将我的数据库从使用旧成员身份迁移到 mvc4 中包含的那个,它使用int
而不是guid
.
更改类型时出现以下错误:
连接的数据库服务器不支持从 int 转换为 uniqueidentifier。
如何更改UserId
为int
通过 SQL Server Management Studio?
我即将将我的数据库从使用旧成员身份迁移到 mvc4 中包含的那个,它使用int
而不是guid
.
更改类型时出现以下错误:
连接的数据库服务器不支持从 int 转换为 uniqueidentifier。
如何更改UserId
为int
通过 SQL Server Management Studio?
首先将数据类型更改为任何其他受支持的类型,如 varbinary 或任何其他类型。然后您可以将其转换为您想要的。
您必须添加一个新列 ( ALTER TABLE ADD [NewId] INTEGER
),然后运行以下命令来填充新的 id 列:
WITH Cte
AS
(
SELECT *
, ROW_NUMBER() OVER(ORDER BY [Your GUID Column Here] DESC) AS RowNumber
FROM YourTable
)
UPDATE Cte
SET [NewId]= RowNumber
GO
那里有一个新的 ID 列,您可以使用集群主键
参考这篇文章:
删除当前列并添加具有所需数据类型的新列应该可以解决您的问题。
据我们所知; 唯一标识符变量为 32 个字节;int 是 8 个字节,而 bigint 是 16 个字节。
我们进行转换,第一个字节和唯一标识符之后。
简单的代码;
Select CAST( CAST(cast(0 as bigint) AS varbinary)+CAST(cast(88 as bigint) AS varbinary) as uniqueidentifier)