4.03 使用NULL代替默认值

问题:
在一个定义了默认值的列插入数据,并且需要不管该列的默认值是什么,都将该列值设为NULL。考虑一下下面的表:

create table D (id interger default 0, foo varchar(10))

希望插入一行, 其中id值为NULL

解决方案:
可以在值列表中明确地指定NULL值:

insert into d (id, foo) values (null, ‘Brighten‘)

讨论

并不是所有人都知道可以在insert语句的值列表中明确指定NULL值。人们通常的做法是,如果在插入操作时不需要对某列指定值,只是将该列从插入列表和值列表中去掉。

insert into d (foo) values(‘Brighten‘)

在上面的语句中没有指定id值。许多人可能认为列没有被指定值时,应当被赋予空值。但是,如果该列在创建的时候被指定了默认值,结果就是在执行insert指令时,id字段的值被赋予0(默认值)。如果想要将某列的值设定为null。则就需要指定该列值为null,而不管该列是否有默认值。

时间: 2024-10-24 06:22:55

4.03 使用NULL代替默认值的相关文章

SQL 表中增加列,指定类型,是否为空,设置默认值

SQL语法: ALTER TABLE 表名ADD 字段 类型 not null  default(默认值) 例如:在A表中增加字段Prcie(价格) 类型为money  不能为空 默认值为0.0 SQL如下: ALTER TABLE A ADD Price money not null default(0.0)

c# get,set设置默认值

public virtual string SplitPlateType { get { if (SplitPlateType == null) { return "默认值"; } else { return SplitPlateType; } } set { SplitPlateType = value; }  } 原文地址:https://www.cnblogs.com/lhlong/p/9459722.html

java 反射: 当Timestamp类型的属性值为null时,设置默认值

import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.sql.Timestamp; class Person { private String name; private int age; private Timestamp birth; public Timestamp getBirth() { return birth

hibernate 向数据库里设置了默认值的字段添加数据为null时失效的问题

写ssh项目时设置了一个boolean类型的字段,想让他添加的时候默认为1 结果添加的时候不输入数据的话会将null转成0添加 最后再映射hbm文件里的property下设置insert=false 并且设置其非空,默认值生效 <property>元素 insert属性:设置为false,在insert语句中不包含这个字段,表示永远不会被插入 原文地址:https://www.cnblogs.com/King-Jin/p/10961640.html

SQL 自定义函数(Function)——参数默认值

sql server 自定义函数分为三种类型:标量函数(Scalar Function).内嵌表值函数(Inline Function).多声明表值函数(Multi-Statement Function) 标量函数:标量函数是对单一值操作,返回单一值. 内嵌表值函数:内嵌表值函数的功能相当于一个参数化的视图.它返回的是一个表,内联表值型函数没有由BEGIN-END 语句括起来的函数体. 多声明表值函数:它的返回值是一个表,但它和标量型函数一样有一个用BEGIN-END 语句括起来的函数体,返回值

Oracle中表添加带有默认值列的讨论(包括12C新特性)

这个问题是我一直都在关注的问题. 11G关于这个问题已经有了改善,到了12C更是多了一些新特性 关于11G的新特性讨论,参考我这篇博客http://blog.csdn.net/dbcrocodile/article/details/21170407 12C关于这方面是在11G新特性上进行添加的. 11G中添加一列并设置默认值,不会对表中实际数据做更改,而是通过对数据字典中做标记 我们查询的时候,会对新列做一个类似nvl()之类的操作,如果是null,则返回默认的数值. 但是,看如下语句 SQL>

Logback.xml 给变量指定默认值

随着通用日志组件转入 Slf4j,logback 也变成了默认的日志实现,像 log4j 一样,logback.xml 中也可以使用系统属性或环境变量,如 ${catalina.home}.在 log4j.properties 中,如果变量在系统属性和环境变量中找不到的话默认为 "" 空字符串,而到了 logback.xml 中如果某个变量找不到默认就是 "变量名_IS_UNDEFINED" 了,这样就比较奇怪了. 那如何在没有配置 catalina.home 系统

SQL Server 自定义函数(Function)——参数默认值

原文:SQL Server 自定义函数(Function)--参数默认值 sql server 自定义函数分为三种类型:标量函数(Scalar Function).内嵌表值函数(Inline Function).多声明表值函数(Multi-Statement Function) 标量函数:标量函数是对单一值操作,返回单一值. 内嵌表值函数:内嵌表值函数的功能相当于一个参数化的视图.它返回的是一个表,内联表值型函数没有由BEGIN-END 语句括起来的函数体. 多声明表值函数:它的返回值是一个表,

ComboGrid二级联动以及给二级联动赋默认值

//调用二级联动方法$(function () { combogridTwo("#upAdClass","#upAdPage");//连接地址二级联动方法封装 修改 combogridTwo("#adAdClass","#adAdPage");//连接地址二级联动方法封装 添加 } /* * @Description combogrid 二级联动方法封装 * * @Author wzf * @Date 2018/10/27 1