数据库字段可以为空时,大家是设置为null还是设置一个默认值?

时间:2021-01-27 09:58:47
比如数据库有一个字段: pictureUrl char(100) 允许为null,用户在前台注册时可以不填这个字段。

在数据库中大家把pictureUrl设置默认值么?比如空字符串。还是默认null?

多谢!

9 个解决方案

#1


听说最好设置为空字符串,不过我貌似一直默认为null 

#2


这个无所谓吧  咱只是敲代码的  数据库怎么设计咱不管

#3


,用户在前台注册时  你注册的时候 赋值应该是。pictureUrl =this.txtUrl.text.trim();
 没填的话是空字符串的。不是null.
 
 如果你不写pictureUrl =this.txtUrl.text.trim();
 就是null.

#4


不管数据库中是空字符串或者是null
存数据库的时候数据库字段对应的变量都有初始值,要么写0,要么写null;
取值中也是用string.isnullorempty或 == 0来判断。

也就是说对数据库存取看你变量的初始值。



#5


既然已經設計成允許為空
在插入的時候跳它他就行了

#6


字符串 空 和 null 都可以.
前台处理 空 比较方便.

#7


char型为null没什么关系,但数字型最好设置个默认值0,因为计算的时候null容易出问题。

#8


字符型,数据库默认值""
数字型,数据库默认值0
日期型,数据库默认值getdate()
比如说程序运行时没有添加一个可选的数字型字段,数据库会字段添加为0,这样在修改该字段时程序不会出错,否则null是没法修改的

#9


NULL

回复内容太短了!回复内容太短了!回复内容太短了!回复内容太短了!回复内容太短了!回复内容太短了!回复内容太短了!

#1


听说最好设置为空字符串,不过我貌似一直默认为null 

#2


这个无所谓吧  咱只是敲代码的  数据库怎么设计咱不管

#3


,用户在前台注册时  你注册的时候 赋值应该是。pictureUrl =this.txtUrl.text.trim();
 没填的话是空字符串的。不是null.
 
 如果你不写pictureUrl =this.txtUrl.text.trim();
 就是null.

#4


不管数据库中是空字符串或者是null
存数据库的时候数据库字段对应的变量都有初始值,要么写0,要么写null;
取值中也是用string.isnullorempty或 == 0来判断。

也就是说对数据库存取看你变量的初始值。



#5


既然已經設計成允許為空
在插入的時候跳它他就行了

#6


字符串 空 和 null 都可以.
前台处理 空 比较方便.

#7


char型为null没什么关系,但数字型最好设置个默认值0,因为计算的时候null容易出问题。

#8


字符型,数据库默认值""
数字型,数据库默认值0
日期型,数据库默认值getdate()
比如说程序运行时没有添加一个可选的数字型字段,数据库会字段添加为0,这样在修改该字段时程序不会出错,否则null是没法修改的

#9


NULL

回复内容太短了!回复内容太短了!回复内容太短了!回复内容太短了!回复内容太短了!回复内容太短了!回复内容太短了!