Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
6年前关闭。
Improve this question
代码不应该使用默认值而不是数据库吗?
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
6年前关闭。
Improve this question
代码不应该使用默认值而不是数据库吗?
最佳答案
您在数据库中可以执行的任何操作通常都更可靠。如果您处理默认值,如果仅在您的应用程序中未指定任何值,将使用默认值,并且有人设法以其他方式(而不是通过您的应用程序)连接到数据库(请相信我-用户将尝试使用Excel进行连接或其他工具)-那么数据库是开放的,用户可能会插入糟糕的数据。
参照完整性和检查约束也是如此。我相信,如果您尝试在数据库上拥有尽可能多的约束,那您会更好-无论用户如何连接,如果他没有向您发送任何信息,您都可以设置合理的默认值。
不要让应用程序处理您的检查-将其留给数据库!
另外,如果您不必指定所有“显而易见的”默认值,例如“getdate()”作为“LastChangedOn”日期列等,它会使您的SQL插入语句更加简洁明了。
关于database-design - 在数据库中使用默认值是不好的做法吗? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1701692/