如何设置当前日期时,创建一个新的记录,然后保持(不更新)这个日期

snvhrwxg  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(474)

在我的数据库(mssql2008r2)中,我想在添加记录时自动将当前日期添加到相应字段。我找到了如何输入默认值的公式(我使用了getdate()),但是公式的默认设置是“is consistant”=false。当我尝试将其更改为true时,在尝试保存更改时会收到错误消息“无法持久化,因为列是不确定的”。
我试图将该列更改为deterministic,但这也导致了一个错误,这在microsoft的一个页面上进行了解释,但在该页面上,我还看到所有具有类似用途的函数都是不确定的。那么,在创建记录时以及之后维护值时,是否不能设置默认日期?
在无法将一致性更改为true的情况下,此列的所有条目都将永久更新,原始值不会保存在数据库中。像这样的计算是完全没有用的。
有人知道在创建新记录并维护该记录时如何将当前日期设置为字段吗?
谢谢
苏珊娜

flvlnr44

flvlnr441#

我不知道你在说什么。可以使用默认值定义列,然后将该值用于索引:

create table t (
     t_id int identity primary key,
     x int,
     created_at datetime default getdate()
);

create index idx_t_created_at on t(created_at);

不能对计算列执行此操作。但是,您特别不希望计算列捕获创建日期时间。
这是一把小提琴。它使用的是更高版本的SQLServer,但我认为这个功能自2008年以来没有改变。

相关问题