Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于从SQL Server中的列中删除主键分配的SQL查询_Sql_Sql Server - Fatal编程技术网

用于从SQL Server中的列中删除主键分配的SQL查询

用于从SQL Server中的列中删除主键分配的SQL查询,sql,sql-server,Sql,Sql Server,我正在寻找这样做的查询。试过 ALTER TABLE DROP CONSTRAINT... 查询,但运气不佳,因为它不是约束(即约束目录为空) 您应该能够对主键使用ALTER TABLE/DROP约束 首先在您的表上运行sp_help以获得正确的PK名称,并确认您的表上有PK。然后使用上面的查询语法删除约束 sp_help your_table_name 获取“约束名称”并使用 ALTER TABLE your_table_name DROP CONSTRAINT your_PK_Name

我正在寻找这样做的查询。试过

ALTER TABLE DROP CONSTRAINT... 
查询,但运气不佳,因为它不是约束(即约束目录为空)


您应该能够对主键使用ALTER TABLE/DROP约束

首先在您的表上运行sp_help以获得正确的PK名称,并确认您的表上有PK。然后使用上面的查询语法删除约束

sp_help your_table_name
获取“约束名称”并使用

ALTER TABLE your_table_name
DROP CONSTRAINT your_PK_Name

您可以尝试通过
探查器
记录SSMS在删除过程中所做的操作。这应该更有趣。运行
ALTER表时发生了什么?你的确切语法是什么?我可以使用
ALTER TABLE
删除PK。Msg 3728,16级,状态1,第1行“id”不是约束。Msg 3727,级别16,状态0,第1行无法删除约束。如@dfundako所指出的,您需要使用PK名称,而不是列名。今后,请包括表定义和您正在使用的准确、完整的语句。可能“id”不是约束的名称。必须按约束的名称而不是列名引用它。