use*_*253 2 sql database sql-server database-design
如果这个问题太宽泛,我很抱歉.我是一名DBA,我正在与一个开发人员合作,他认为列默认值是一个坏主意,只是将列设置为禁止空值就足够了.
我从开发人员的角度来寻找列默认值的好处.谢谢您的意见.
它有助于版本控制.例如,如果旧代码(INSERT语句)需要一个包含10列的表,而旧代码必须使用带有12的新表,那么您需要为新列提供默认值,或者使新列可以为空.
它还取决于NULL对于给定列的确切语义,因为默认值的选择也是对列中NULL的选择.空标记是否意味着未知,不可知,尚未改变,未知未来的某些东西,未知未来的东西.这些标记略有不同,NULL只能表示其中一个.