我想添加或更新使用alter table的列,如果我要添加一個新列我想要顯示錯誤。我使用下面如何在SQL Server 2008中的表格之間插入列
alter table Personal_Details alter columns DOB datetime
的代碼,如果我取消空不空,然後它會顯示列不允許空值;更新失敗;
我想插入列之間的字段不是結束。
Plese修復我的bug,
在此先感謝。
我想添加或更新使用alter table的列,如果我要添加一個新列我想要顯示錯誤。我使用下面如何在SQL Server 2008中的表格之間插入列
alter table Personal_Details alter columns DOB datetime
的代碼,如果我取消空不空,然後它會顯示列不允許空值;更新失敗;
我想插入列之間的字段不是結束。
Plese修復我的bug,
在此先感謝。
列聲明中列的位置與NULL或NOT NULL無關。
如果要添加你想成爲NOT NULL(任何類型)的列,即要在該列禁止NULL值,和表已經包含了一些行,你必須還提供一些默認值。例如:
ALTER TABLE Personal_Details
ADD COLUMN DOB datetime NOT NULL DEFAULT (GETDATE())
否則發動機將嘗試添加該列與空值作爲其值,這將違反NOT NULL屬性和變化,因此,將被還原。
基本上,當列想要在列已包含NULL時設置現有的列的NOT NULL屬性時,情況基本相同。但在這種情況下,您必須通過用值替換或刪除相應的行來顯式消除更改前的NULL。
來源:
1)烏拉圭回合與不爲空的問題將列
使用
ALTER TABLE Personal_Details ADD COLUMN DOB datetime NULL
更新DOB列與所需的日期並確保列 中沒有空值,然後改變列使用
ALTER TABLE Personal_Details ALTER COLUMN DOB datetime not NULL
2)對於你的列到最後的問題......
您是否正在嘗試ALTER或ADD列?你是否正在對現場數據庫做這件事? – BonyT
你的更新陳述不知道你在做什麼...... 你可以粘貼你的表的創建代碼以及 – Mulki
你是什麼意思插入字段之間的列?當然,你如何在表格定義中出現字段對你來說沒有任何意義? – BonyT