我应该在代码后端插入当前日期时间还是在数据库服务器中设置?

3

我制作了一个订阅表单。当插入数据时,我会在表单中放置订阅日期和时间。 我们应该将订阅日期时间放在代码后面还是作为默认值放在MS SQL服务器中?


出于代码可读性的考虑,一定要从代码后台进行操作。 - rt2800
2个回答

3

我认为这是个人选择,虽然我总是使用CURRENT_TIMESTAMP在SQL中完成这种操作。

我的理由是为什么要向查询中添加一个不真正需要的额外参数,这只是你必须生成的额外数据。

正如已经提到的,将其添加在代码后端可能有助于代码可读性,但我不同意,当你调用一个过程时,你并不总是需要知道它存储了什么以及如何存储,你只需要知道它做了什么。

例如,我有很多程序可以编辑我的数据库中的内容,作为一个附带任务,它们还会更新审核表,以便我记录正在进行的操作。无论哪个程序员调用这些程序,他都不需要知道这一点,因为这些程序的主要功能是在主表中插入或编辑数据,生成的审计跟踪只是关于数据的数据,与此程序员正在做的事情无关。

如果我要在代码后台中将所有审计参数添加到这些SP中,那么就会有5-6个额外的参数,这只会使我的代码更加混乱,并使事情变得更加复杂。

在您的情况下,插入数据到数据库的人是否需要知道它记录了数据插入的时间?我猜可能不需要,所以没有真正的需要在代码后台生成日期。


好的回答,我想补充一点的是,无论你在哪里生成时间戳,最好使用UTC时间戳,这样就不会遇到任何时区问题。 - glenatron
当前时间戳是多少? - Sarawut Positwinyu

0
如果您正在使用服务器(共享主机)托管应用程序,则尝试将日期和时间存储为UTC时间。您可以使用GETUTCDATE()函数将日期时间存储为UTC时间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接