我正在使用SQL Server 2008及其Management Studio。我正在做一个Web项目,它有一个工具来自动创建表/关系。
我的网络项目显示此错误:
不成功:alter table Tester添加约束FK_c6c4bf4s2rvp56a32nnruww2b外键(游戏)参考游戏
列'Game.id'与外键'FK_c6c4bf4s2rvp56a32nnruww2b'中引用列'Tester.game'的数据类型不同
然而,当我在管理工作室运行以下内容时:
ALTER TABLE dbo.Tester DROP CONSTRAINT FK_c6c4bf4s2rvp56a32nnruww2b
我得到以下内容:
Msg 3728,Level 16,State 1,Line 1
'FK_c6c4bf4s2rvp56a32nnruww2b'不是约束。
消息3727,级别16,状态0,行1 无法删除约束。查看以前的错误。
我很困惑。什么类型的约束是FK_c6c4bf4s2rvp56a32nnruww2b
?
如何删除它?
谢谢和问候。
答案 0 :(得分:3)
你可以尝试
sp_help [table_name]
获取所有外键约束。
当您获得表上的外键约束时。通过写下这样的东西来删除它们: -
ALTER TABLE [dbo].[table_name] DROP CONSTRAINT [Foreign_FK]
答案 1 :(得分:2)
没有这样的约束!
第一个错误明确表示无法创建该约束,因为涉及的这两个列的数据类型(Game.Id
和Tester.Game
)不匹配。
你应该做的是检查你如何创建导致第一个错误的FK约束 - 并且显式赋予该FK约束一个有意义的名称!