2015-01-31 52 views
0

我想知道如果我使用添加列到我的表:是否添加列刪除數據

alter table Jobs 
add Complete boolean 

這是否會擦除所有當前在我的表中的數據?我正在使用SQL Server Management Studio 2012

回答

4

根本不是。這會添加一個值爲NULL的列,但它對錶中已有的數據沒有直接影響。

作爲說明:boolean不是SQL Server中的數據類型,因此特定語句不起作用。您也可以使用bit,tinyint,smallintint。或存儲'T'和'F'的char(1)

第二個注意事項:如果您的表格非常大,則添加一列可能需要一段時間,因爲可能需要重寫所有數據。儘管值爲NULL,但SQL Server中的每個頁面在所有列中都包含NULL值。如果這個步驟跨越了一個字節邊界,那麼數據需要重新排列在頁面上 - 也許是爲數據分配的新頁面。無論如何,每個頁面都需要修改以包含NULL值。出於這個原因,如果可能的話,建議將列添加到空表中。

+0

啊謝謝。是的,我只是一起扔這個問題,我將使用nvarhcar(3) – 2015-01-31 21:50:20

+1

位是equiv。爲布爾值,1爲真,0爲假。就個人而言,當我需要一個真/假值時,我建議使用位字段 – 2015-01-31 21:51:02

+0

好吧,我不知道。我會嘗試一下。謝謝! – 2015-01-31 21:53:48

1

不,它不會刪除您的數據。它將添加一列,並且所有現有數據將在此列中分配空值。

相關問題