我正准备将我的数据库从使用旧的会员资格迁移到mvc4中的数据库,而mvc4使用的是 int
而不是 guid
.
当改变类型时,我得到以下错误。
连接的数据库服务器不支持从int转换为uniqueidentifier。
我怎样才能改变 UserId
到 int
通过SQL Server Management Studio?
你必须添加一个新的列( 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列,你可以使用集群主键。
首先将数据类型改为任何其他支持的类型,如varbinary或任何其他类型,然后你可以将其转换为你想要的。
参考 这个 帖子。
删除当前的列,并添加一个新的列,所需的数据类型应该解决你的问题。