2011-06-09 34 views

回答

0

您使用alter table

alter table YourTable add NewColumn int 
2

当添加到数据表中的列,列应为空,或者您需要一个默认值

ALTER TABLE myTable ADD AnotherColumn int NULL 

ALTER TABLE myTable 
    ADD AnotherColumn int NOT NULL 
      CONSTRAINT DF_myTable _AnotherColumn DEFAULT 0 
3

有很多事情要考虑。就在我头顶:

  • 验证访问该表的任何内容都不会受到负面影响。如果有什么使用SELECT *它很可能会炸毁。同样,任何从列索引中选择或按列索引插入到数据库中的内容都需要更改
  • 更改列可能需要删除/重新创建表 - 确保没有人会在访问表时访问表做出改变。这包括预定的工作,触发器等。
  • 确保您的备份是最新的。如果出现问题,您希望能够回到原来的位置。

所有的一切,我会说你最好bet-如果选项是服务现有是遵循在发展这些步骤,然后在QA环境,以确保你尽可能不谈某些这会受到变化的影响,因此您可以进行必要的调整。

一旦您确定自己在做什么,ALTER TABLE是您想要的命令,并且Microsoft有关于如何使用它的文档的plenty。另外,SQL Server Management Studio也提供了用于进行更改的GUI。

+0

我的数据库在现场我不知道谁使用表。在什么时候我想添加新的专栏....请告诉我你的想法? – kanth 2011-06-09 12:41:18

+0

如果你必须修改一个表格,并且你不知道什么取决于所述表格...... STOP。除了通过添加列来解决问题之外,还有一个主要问题。挖掘你的系统文档,找到你的表的所有参考。如果失败(甚至可能是这样),请确保您的经理/领导/无论如何都知道这是对未知数量的其他系统的潜在突破性变化 - 并且由于它而期待淹没错误。 – AllenG 2011-06-09 18:40:23