在创建新行时让数据库设置某些列的默认值是一种好习惯,还是应用程序应该设置所有值?我不确定支持或反对的原因,但在非空列中,它让生活更轻松。
问问题
135 次
1 回答
1
像所有事情一样,有时设置默认值是有意义的,有时则没有。
您可能希望在审计列上设置默认值,例如行创建者名称和创建日期。数据库知道它们的最佳值是多少,但用户应用程序可以在必要时覆盖它们(除非设置了限制)。
ALTER TABLE [dbo].[MyTable] ADD DEFAULT (getutcdate()) FOR [created]
如果您知道应该将 90% 的所有新数据分配给ProjectX ,您可能会想为项目名称设置默认值。那将是一个坏主意:新开发人员甚至可能没有意识到应该设置列,并且无意中将所有新数据分配给默认项目。
于 2009-11-18T01:42:23.817 回答