我正在尝试使用以下命令从表中删除主键约束
ALTER TABLE SchemaName.LabourGrade DROP CONSTRAINT Labour_Grade_pk
并得到错误 Labour_Grade_pk is not a constraint.
Labour_Grade_pk is not a constraint.
当我做
SELECT * FROM sysobjects WHERE name = 'LabourGrade_pk'
我回来了。它确实有FK,所以我尝试删除那些第一个但相同的问题。我只想删除PK以便更改列的数据类型,是否有更好的方法来做到这一点?
我只想删除PK以便更改列的数据类型,是否有更好的方法来做到这一点?
是的,您完全不需要为此删除并重新创建PK(以及关联的索引)。您可以通过进行简单的元数据更改来完成此操作ALTER TABLE ... ALTER COLUMN。
ALTER TABLE ... ALTER COLUMN
CREATE TABLE #T ( P VARCHAR(2) PRIMARY KEY ) INSERT INTO #T VALUES ('AA') ALTER TABLE #T ALTER COLUMN P VARCHAR(3) NOT NULL DROP TABLE #T