在列中放置默认值有什么好处?

use*_*253 2 sql database sql-server database-design

如果这个问题太宽泛,我很抱歉.我是一名DBA,我正在与一个开发人员合作,他认为列默认值是一个坏主意,只是将列设置为禁止空值就足够了.

我从开发人员的角度来寻找列默认值的好处.谢谢您的意见.

Mat*_*tin 7

它有助于版本控制.例如,如果旧代码(INSERT语句)需要一个包含10列的表,而旧代码必须使用带有12的新表,那么您需要为新列提供默认值,或者使新列可以为空.

它还取决于NULL对于给定列的确切语义,因为默认值的选择也是对列中NULL的选择.空标记是否意味着未知,不可知,尚未改变,未知未来的某些东西,未知未来的东西.这些标记略有不同,NULL只能表示其中一个.


Jas*_*win 5

如果要向现有表添加列并且不希望该列可为空,则必须提供默认值.