删除主键

您可以通过使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中删除主键。 在删除主键时,也将删除相应的索引。

本主题内容

  • 开始之前:

    安全性

  • 使用以下工具删除主键:

    SQL Server Management Studio

    Transact-SQL

开始之前

安全性

权限

需要对表的 ALTER 权限。

用于“返回首页”链接的箭头图标[Top]

使用 SQL Server Management Studio

使用对象资源管理器删除主键约束

  1. 在对象资源管理器中,展开包含主键的表,再展开**“键”**。

  2. 右键单击该键,然后选择**“删除”**。

  3. 在**“删除对象”对话框中,确认指定了正确的键,然后单击“确定”**。

使用表设计器删除主键约束

  1. 在对象资源管理器中,右键单击具有主键的表,再单击**“设计”**。

  2. 在表网格中右键单击包含主键的行,再选择**“移除主键”**以将该设置从启用切换到禁用。

    注意注意

    若要撤消此操作,请关闭该表而不保存更改。 若要撤消删除主键操作,就无法避免丢失对表做出的所有其他更改。

  3. 在**“文件”菜单上,单击“保存 table name”**。

用于“返回首页”链接的箭头图标[Top]

使用 Transact-SQL

删除主键约束

  1. 在**“对象资源管理器”**中,连接到数据库引擎的实例。

  2. 在标准菜单栏上,单击**“新建查询”**。

  3. 将以下示例复制并粘贴到查询窗口中,然后单击**“执行”**。 该示例首先标识主键约束的名称,然后删除该约束。

    USE AdventureWorks2012;
    GO
    -- Return the name of primary key.
    SELECT name
    FROM sys.key_constraints
    WHERE type = 'PK' AND OBJECT_NAME(parent_object_id) = N'TransactionHistoryArchive';
    GO
    -- Delete the primary key constraint.
    ALTER TABLE Production.TransactionHistoryArchive
    DROP CONSTRAINT PK_TransactionHistoryArchive_TransactionID; 
    GO
    

有关详细信息,请参阅 ALTER TABLE (Transact-SQL)sys.key_constraints (Transact-SQL)

用于“返回首页”链接的箭头图标[Top]