【发布时间】:2011-04-29 05:13:54
【问题描述】:
我可以添加一个我指定为 NOT NULL 的列吗,我不想指定 DEFAULT 值但是 MS-SQL 2005 说:
ALTER TABLE 只允许添加可以包含空值的列,或者指定了 DEFAULT 定义,或者添加的列是标识或时间戳列,或者如果前面的条件都不满足,则表必须为空允许添加此列。列 'test' 不能添加到非空表 'shiplist' 中,因为它不满足这些条件。
如果是,请告诉我语法,如果不是,请说明原因。
【问题讨论】:
-
我认为这样做的目的是使该列可以添加为“NOT NULL”,但指定现有列的值应该是什么,而不必做任何可爱的事情,比如创建一个约束放弃它。对我来说,想要 NOT NULL,没有默认值似乎是合理的,但只需指定现有行的值应该是什么。
标签: sql sql-server sql-server-2005 tsql