SQL Server 2008 不能删除约束

标签 sql sql-server-2008

我正在尝试使用以下方法从表中删除主键约束

ALTER TABLE SchemaName.LabourGrade DROP CONSTRAINT Labour_Grade_pk

并收到错误 Labour_Grade_pk is not a constraint.
当我做
SELECT * FROM sysobjects WHERE name = 'LabourGrade_pk'
我得到一排。它确实有 FK,所以我尝试放弃那些第一个但同样的问题。
我只想删除 PK 以更改列的数据类型,有没有更好的方法来做到这一点?

最佳答案

SELECT * FROM sysobjects WHERE name = 'LabourGrade_pk'正在返回一行,那么您要使用:

ALTER TABLE SchemaName.LabourGrade DROP CONSTRAINT LabourGrade_pk

不是
ALTER TABLE SchemaName.LabourGrade DROP CONSTRAINT Labour_Grade_pk
                                                       --^-- We don't want this

但是,根据其他评论和@Martin 的回答,这并没有解决您为什么需要放弃此约束。

关于SQL Server 2008 不能删除约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12671345/

相关文章:

php - 从两个不同的数据库表输出结果的最佳方法

sql - 从数据库中删除 html 实体

xml - 如何合并 SQL Server 中 Xml 字段中的多个项目

php - MySQL中的字符集;不能插入特殊字符,为什么?

sql - 使用 SQL 求协方差

java - Hibernate HQL 是否支持正则表达式模式匹配?

sql-server - 如何从 Excel 工作表创建表格?

sql - 访问另一个数据库中的sys.sql_modules

ms-access - "' PK_dbo.TableName ' is not a valid name"带有到 SQL Server 的 Access ODBC 链接表

c# - 是否有可能使用 Entity Framework 4,让主键在对象上的名称与在表中的名称不同?