当前位置: 首页 > 面试题库 >

我可以添加不带DEFAULT值的非空列吗

沈琨
2023-03-14
问题内容

是否可以添加我指定为NOT NULL的列,我不想指定DEFAULT值,但是MS-SQL 2005说:

ALTER
TABLE仅允许添加可以包含空值或指定DEFAULT定义的列,或者要添加的列是Identity或timestamp列,或者如果不满足任何先前条件,则该表必须为空才能允许添加本专栏的内容。无法将列“
test”添加到非空表“ shiplist”中,因为它不满足这些条件。

如果是,请让我知道语法,如果否,请说明原因。


问题答案:

不,你不能。

因为如果可以的话,SQL将不知道在现有记录中将什么作为值。如果表中没有任何记录,它将毫无问题地工作。

最简单的方法是使用默认值创建列,然后删除默认值。

ALTER TABLE dbo.MyTable ADD
MyColumn text NOT NULL CONSTRAINT DF_MyTable_MyColumn DEFAULT 'defaultValue'
ALTER TABLE dbo.MyTable
DROP CONSTRAINT DF_MyTable_MyColumn

另一种选择是添加没有约束的列,填充所有单元格的值并添加约束。



 类似资料:
  • 我试图向“AuthDate”为“06/05/20”且“Time”为“1P -2P”的列添加一个数值。 我运行了以下查询: *main=表名调用=列名 但是我得到错误代码1175你正在使用安全更新模式 有人知道我为什么会出错吗?

  • 问题内容: 我有一个表,其中的列包含一些空值。我想在该列上添加约束,而不将现有的null更新为非null值。我想保留现有的空值,并检查将来的行,它们是否包含此列的非空值。这可能吗?如何? 问题答案: 您可以添加未验证的约束-它不会查看现有行,但是会检查是否有任何新行或更新行。 请注意,除非满足约束,否则您将无法更新现有行。 另外,请注意,不利之处在于,优化器在制定计划时将无法利用此约束-它必须假设

  • 我正在使用Pandas,希望将行添加到已建立列的空数据框中。 到目前为止,我的代码看起来像这样。。。 然而,当我跑步的时候。。。 数据框返回时没有行,只有列。我不确定我做错了什么,但我很确定它与append方法有关。有人知道我做错了什么吗?

  • 我有返回给我一些JSON后端。 我将其解析为我的类: 然后我从服务器(使用rxJava)检索数据,没有任何错误。但是我预料到了一个错误,因为我认为我应该做这样的事情(以防止GSON转换器错误,因为在我的JSON响应中不存在): 在从后端接收数据并将其解析到带有构造函数的SomeData类(不带def值)之后,notNullableValue的值==NULL。 据我所知,在Kotlin中不是可空值可

  • 我想添加列到我的MySQL-数据库与空格。 在SO-questions方面,这与我所得到的一样接近,即用php在mysql colum中插入带有空格的数据 在php MyAdmin中,我可以编写代码 但是,在php中,我尝试使用下面的代码: 但我得到了这个错误代码: 错误描述:1064您的SQL语法有错误;查看与您的MariaDB服务器版本相对应的手册,了解第1行“1 VARCHAR(255)”附

  • 我尝试使用和将添加到中,但无法将添加到中。我正在使用NetBeans和后端MySQL。请帮帮我. 编辑:谢谢,但我不知道如何分组。你能帮帮我吗?我有4列。第一列单元格包含项目名称,第二列单元格包含数量,第三列和第四列单元格连接JRadio按钮。然后我想在每一行中分组包含JRadio按钮的第三列和第四列单元格 编辑:如果我试图通过使用这个在jTable的自定义代码中添加radiobutton, ,那