pax*_*blo 94

您正在寻找的命令是:

alter table tblName drop column columnName
Run Code Online (Sandbox Code Playgroud)

tblName表的名称在哪里,是columnName列的名称,但您可能需要先做一些事情.

  • 如果列中有任何外键引用,则需要先删除它们.
  • 如果有使用该列的索引,则需要删除它或将其调整为不使用该列.

请记住,此命令的性能可能不一定好.一种选择是等待停机时间,当您可以确定没有人将访问数据库,重命名当前表,然后使用create tableinsert into ... select from传输您不想删除的列.

Oracle的后续版本之一实际上有一个软删除,它可以将列标记为未使用而不会在物理上删除它.它具有相同的效果,因为你不能再引用它,并且有一个命令,其命令alter table ... drop unused columns是在安静的时间运行,这实际上是实际删除它的艰苦工作.

这具有立即"消失"列而不会在繁忙时间拖动数据库性能的优点.


Joa*_*man 13

ALTER TABLE XXX DROP COLUMN YYY;


Ton*_* L. 5

这也可以通过 SSMS GUI 来完成。

我喜欢这种方法,因为它会警告您该列上是否存在任何关系,并且还可以自动删除这些关系。正如 PaxDiablo 所说,如果存在关系,则必须先删除它们。

  1. 将表格放在设计视图中(右键单击表格),如下所示:

在此输入图像描述

  1. 右键单击表设计视图中的列,然后单击“删除列”

在此输入图像描述

此时,如果有任何关系也需要删除,它会询问您是否也想删除这些关系。