我一直在网上,我只是找到解决方案,解决方案,删除和添加约束等。首先,我的Transaction表中有一个外键,指向一个以UserName
为主键的Users表,因为Transactions表必须记录哪个用户添加或修改了哪个记录。但是现在程序的规格发生了变化,因为我最终使用了ASP.Net提供的表,即aspnet_Users
表。我现在要指出UserID
中aspnet_Users
主键的外键。我该怎么做呢?
答案 0 :(得分:1)
JamesP,
如果您能够提供一些架构信息,那将会更有帮助。但是,我怀疑您的Users表用户名是varchar
数据类型,UserID
是uniqueidentifier
数据类型。因此,您还需要确保UserID
表上的Transaction
字段为uniqueidentifier
数据类型。如果已完成此操作且所有受影响的行已相应更新,则只需使用“关系”功能修改管理工作室中的外键关系属性即可。
如果您想纯粹在SQL中执行此操作,则需要删除现有关系,例如(psudo code)
ALTER TABLE [Transaction] DROP CONSTRAINT [<constraintName>]
重新创建约束。
ALTER TABLE [Transaction] ADD CONSTRAINT [<constraintName>] FOREIGN KEY([UserID]) REFERENCES [aspnet_Users](UserID)
干杯。