执行插入时,可以说从C#到SQL Server表(使用参数化的sql语句),是否需要在insert语句中指定每个表字段? 我注意到我在插入中未指定的字段默认为表中设置的默认值.我不知道在插入语句中是
我注意到我在插入中未指定的字段默认为表中设置的默认值.我不知道在插入语句中是否优缺点是省略字段并让默认值设置我不关心的字段.一定是好的因为它有效.
您需要指定要为其插入值的所有字段.您不必指定表中的所有字段!正如您所注意到的那样,您未指定且对其具有默认约束的任何字段都将设置为该定义的默认值.这是一件“好事”(tm) – 当然!这允许您编写更少的T-SQL插入代码 – 所有已定义的默认值都将被设置.我发现这是SQL Server(以及许多其他关系数据库)的一个很棒的功能 – 您可以在插入时将“最后修改”日期字段等内容初始化为“今天”,而无需将这些字段专门添加到INSERT语句中.
任何既不是INSERT语句的一部分也没有定义默认值的字段将保留为NULL.
定义为NOT NULL的任何字段都必须是INSERT语句中字段列表的一部分(以便为它们指定特定的NON NULL值),或者它们必须具有默认约束.