添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

适用于: SQL Server 2016 (13.x) 及更高版本 Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)

本文介绍如何使用 SQL Server Management Studio (SSMS) 或 Transact-SQL 删除 SQL Server 中的表列。

删除表中的某一列后,该列及其包含的所有数据都将删除。

限制和局限

不能删除具有 CHECK 约束的列。 必须首先删除该约束。

不能删除具有 PRIMARY KEY 或 FOREIGN KEY 约束或者其他依赖关系的列,但在 SSMS 中使用 表设计器 时例外。 在使用 SSMS 的 对象资源管理器 或 Transact-SQL 时,必须首先删除该列上的所有依赖关系。

需要对表的 ALTER 权限。

使用对象资源管理器删除列

以下步骤说明如何在 SSMS 中使用对象资源管理器删除列:

  • 连接到数据库引擎实例。
  • 在“对象资源管理器”中,找到要从其中删除列的表,然后展开表,显示列名称
  • 右键单击要删除的列,然后选择“删除”
  • “删除对象” 对话框中,单击 “确定”
  • 如果该列包含约束或其他依赖关系,“删除对象” 对话框中会显示错误消息。 通过删除引用的约束解决该错误。

    使用表设计器删除列

    以下步骤说明如何在 SSMS 中使用表设计器删除列:

  • 在“对象资源管理器” 中,右键单击要从其中删除列的表,然后选择“设计”
  • 右键单击要删除的列,然后从快捷菜单上选择“删除列”
  • 如果该列参与了关系(FOREIGN KEY 或 PRIMARY KEY),则将显示一条消息,提示您确认删除所选列及其关系。 选择 “是”
  • 使用 Transact-SQL 删除列

    可以在 SSMS、 Azure Data Studio 或命令行工具(例如 sqlcmd 实用程序 )中使用 Transact-SQL 删除列。

    下面的示例展示了如何删除列。

    ALTER TABLE dbo.doc_exb DROP COLUMN column_b;
    

    如果该列包含约束或其他依赖关系,将返回一条错误消息。 通过删除引用的约束解决该错误。

    有关更多示例,请参阅 ALTER TABLE (Transact-SQL)

    有关更改表和相关工具的详细信息,请参阅以下文章:

  • ALTER TABLE (Transact-SQL)
  • SQL Server Management Studio
  • Azure Data Studio
  • 对象资源管理器
  •