3

如果我使用例如实体框架并尝试进行插入,如果要更新的模型具有字符串值或布尔值,尽管未设置,模型值不能为空,因此它们应该处理要插入这些字段的默认值?

4

3 回答 3

0

在 sql server 中将列值设置为不为空时,我是否必须为该列设置默认值,或者它是否应该正常工作?

当您将约束设置为 NOT NULL 时,这意味着您必须为该列指定一个值。它不能保持为 NULL。您当然可以为该列指定任何默认值。

如果您不想每次都为您的列提供值,那么最好为该列设置一些默认值,否则您需要在每次进行插入语句时为该列提供值。

于 2013-10-19T09:57:48.843 回答
0

如果您将现有列设置为NOT NULL并且事先可以为空,那么要么

  • 所有现有行已经具有该列的值(或者您更新表以满足此条件)

  • 或者您必须为该NOT NULL列提供默认值,以便任何包含 a 的行都NULL将使用默认值填充

您可以选择这两个选项中的任何一个 - 以适合您的为准。

于 2013-10-19T10:18:50.700 回答
0

如果您使用ALTER命令将列设置为NOT NULL ,那么您必须确保该列的所有值都不应该为空,或者您可以设置其默认值。但是在CREATE命令的情况下,不必创建默认值,因为它将限制使用任何 DML 命令插入空值。

于 2013-10-19T11:07:07.787 回答