首页 > 其他 > 详细

4.03 使用NULL代替默认值

时间:2017-09-14 09:52:54      阅读:263      评论:0      收藏:0      [点我收藏+]

问题:
在一个定义了默认值的列插入数据,并且需要不管该列的默认值是什么,都将该列值设为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,而不管该列是否有默认值。

4.03 使用NULL代替默认值

原文:http://www.cnblogs.com/liang545621/p/7518746.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!