san*_*084 45 sql database sql-server
我已经有一个由数据组成的表.我需要更改表以添加两个非空的新列.如何在不丢失任何现有数据的情况下做到这一点?
这是我尝试的(通过右键单击表并选择设计):
添加了新的列'EmpFlag'(bit,null),'CreatedDate'(datetime,null)
更新了表中的"EmpFlag"列,以获得一些有效值.(只是想在一个字段上工作,所以我没有更新'CreatedDate'字段)
现在右键单击表,设计,并使其不为空.
当我尝试保存时,出现此错误消息:
不允许保存更改.您所做的更改需要删除并重新创建以下表.
Jos*_*ama 68
您只需在新列中设置默认值,即可添加它们.
alter table table_name
add column_name datetime not null
constraint DF_Default_Object_Name default (getdate())
Run Code Online (Sandbox Code Playgroud)
或者这个用于varchar字段.
alter table table_name
add column_name varchar(10) not null
constraint DF_Default_Object_Name default ('A')
Run Code Online (Sandbox Code Playgroud)
如果在添加列后不需要,也可以删除默认值.
alter table table_name
drop constraint DF_Default_Object_Name
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
31882 次 |
最近记录: |