数据库创建表时经常多给一个字段,这个备用的字段给个空值还是null

数据库创建表时经常多给一个字段,这个备用的字段给个空值还是null

一般情况下,留空最好也最省磁盘空间。对于某个字段在没有设定默认值的情况下,你不写入数据,其字段值就是 Null 也叫做 空值,它们是同一个东西的不同表述。但是请记住空值(Null)不等于零长度字符串 "" 对于这一点不少人常常搞混,大家要留意。如果你在某个字段里写入数据值,例如'A'或零长度字符串 "" 那么字段值就不是空值(Null)了。当然你也可以强制将某个字段改为空值(Null)或零长度字符串,请看下面例子有助于你理解有关概念:
表:A
id name address
001 张三 广东
002 李四 北京

运行更新查询,强制将id等于001的那条记录的地址改为空值(NULL)
"update A set address=Null where id='001'"
结果:
表:A
id name address
001 张三
002 李四 北京
此时对更新后的表A运行选择查询
SELECT COUNT(*) AS 地址不为空的记录条数 FROM A WHERE ADDRESS IS NOT NULL
返回
地址不为空的记录条数
1

运行更新查询,强制将id等于001的那条记录的地址改为零长度字符串""
"update A set address='' where id='001'"
结果:
表:A
id name address
001 张三
002 李四 北京
此时对更新后的表A运行选择查询
SELECT COUNT(*) AS 地址不为空的记录条数 FROM A WHERE ADDRESS IS NOT NULL
返回
地址不为空的记录条数
2
虽然张三的地址看上去是“空的”但是实际上是有数据的,即 ADDRESS=”“ ,故返回2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-11
什么数据库?oracle吗?如果是,在insert的时候对这个字段付null或者insert时不包括这个字段就可以了。
第2个回答  2012-07-11
个人觉得让它NULL更好本回答被提问者采纳