3

我正在使用 SQL Server 2008 及其 Management Studio。我正在做一个网络项目,它有一个工具可以自动创建表/关系。

我的网络项目揭示了这个错误:

不成功:alter table Tester 添加约束 FK_c6c4bf4s2rvp56a32nnruww2b 外键(游戏)引用游戏

列“Game.id”与外键“FK_c6c4bf4s2rvp56a32nnruww2b”中引用列“Tester.game”的数据类型不同

但是,当我在管理工作室运行以下命令时:

ALTER TABLE dbo.Tester DROP CONSTRAINT FK_c6c4bf4s2rvp56a32nnruww2b

我得到以下信息:

消息 3728,级别 16,状态 1,第 1 行
“FK_c6c4bf4s2rvp56a32nnruww2b”不是约束。
消息 3727,级别 16,状态 0,行 1
无法删除约束。请参阅以前的错误。

我很困惑。什么类型的约束是FK_c6c4bf4s2rvp56a32nnruww2b

我怎样才能删除它?

谢谢并恭祝安康。

4

2 回答 2

3

你可以试试

 sp_help [table_name]

获取所有外键约束。

当你得到表上的外键约束时。通过写这样的东西来删除它们:-

ALTER TABLE [dbo].[table_name] DROP CONSTRAINT [Foreign_FK]
于 2013-08-15T17:55:43.283 回答
2

没有这样的约束

第一个错误清楚地表明它无法创建该约束,因为所涉及的那两列的数据类型 (Game.IdTester.Game) 不匹配。

您应该做的是检查您如何创建导致第一个错误的 FK 约束 - 并明确地给该 FK 约束一个有意义的名称!

于 2013-08-15T18:12:31.443 回答