我想添加或更新使用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