操作数类型冲突:uniqueidentifier与int不兼容

hug*_*dan 18 sql t-sql sql-server asp.net-membership

当我尝试在下面创建存储过程时,我收到以下错误:

操作数类型冲突:uniqueidentifier与int不兼容

我不清楚导致此错误的原因.UserID实际上是我所有表中的int.谁能告诉我我做错了什么?

create procedure dbo.DeleteUser(@UserID int)
as

    delete from [aspnet_Membership] where UserId = @UserID
    delete from [Subscription] where UserID = @UserID
    delete from [Address] where UserID = @UserID
    delete from [User] where UserID = @UserID

go
Run Code Online (Sandbox Code Playgroud)

Aar*_*and 18

听起来像这些表中至少有一个已经定义UserID为a uniqueidentifier,而不是a int.你检查过每张桌子的数据了吗?什么是SELECT TOP 1 UserID FROM每个表产生?一个int还是一个GUID

编辑

我认为您已经基于包含名为UserID的列的所有表构建了一个过程.我认为你不应该aspnet_Membership在你的脚本中包含该表,因为它不是真正的"你的"表.

如果你的意思是,设计围绕着你的表aspnet_Membership的数据库,那么为什么列的其余部分int时,该表明确使用uniqueidentifierUserID列?