2010-02-22 71 views
2

每當我想將列添加到表通常是這樣的:爲什麼在添加色譜柱時SSMS不智能?

  1. 火了SQL Server Management Studio中(SSMS)
  2. 選擇「設計」在桌子上我要添加列到
  3. 新列添加到表
  4. 保存
  5. 得到一個錯誤,SSMS無法保存,因爲這將需要刪除表(它不能因爲該表上有外鍵)。
  6. 感到沮喪,我忘了,這是一件SSMS不能做
  7. 手工構造一個alter table命令添加列
  8. 移動與生活。

這一次,我將這些數字6和7之間的臺階,我想我會問爲什麼SSMS不能做一個簡單的ALTER TABLE語句來加我的新列。

(如果它我正在運行SSMS 2008,針對SQL Server 2008.)

+1

因爲這是一個我們都必須忍受的廢話。 (一旦你使用pgadmin3,SSMS看起來很傷心) – Earlz 2010-02-22 20:24:31

+0

它總是爲我產生CONSTRAINT下降,也許你有一個防止這種情況的選項集? – 2010-02-22 20:28:40

+1

@KM,他說它產生了下降,但由於外鍵約束它不會下降。他(和我)想知道的是*爲什麼*它必須放棄表格以添加一列 – Earlz 2010-02-22 20:29:36

回答

4

或者,您可以轉到工具 - >選項 - >設計器 - >表和數據庫設計器,並取消選中「阻止保存需要重新創建表的更改「

問題解決了。

下面是來自MSDN的解釋:http://support.microsoft.com/default.aspx/kb/956176

當您更改表,以便您 改變 表的元數據結構,然後保存表, 表必須基於 這些變化重新創建。

+1

@Alison:「@KM,他說它產生了下降,但它不會因外鍵約束而下降,他(和我)想知道的是爲什麼它必須刪除表以添加一列」 – Earlz 2010-02-22 20:49:03

+0

啊! ,它被列爲「一個bug」,他們推薦使用T-SQL來改變表格而不是SSMS .. – Earlz 2010-02-22 21:19:09

+0

@Earlz:你有「Bug」列表的鏈接嗎?如果是這樣,請將其作爲答案。 – Vaccano 2010-03-01 17:06:41