Sql 我可以将时间戳列更新为所需的值吗?
我有一个表,其中一列有timestamp列 桌子的结构是这样的Sql 我可以将时间戳列更新为所需的值吗?,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有一个表,其中一列有timestamp列 桌子的结构是这样的 [Time] [timestamp] NOT NULL, 当我使用以下查询插入此表时 insert into test(id,name) values(1,'john') 在这里,我没有在时间列中插入任何时间戳数据类型的值,但在这里,一些值是自动插入的 所以我想知道我是否可以在这列中设置自己的序列值,比如1小时设置3600,2小时设置7200,所以有些时间值 我试过这样做 [Time] [timestamp] NOT NULL,
[Time] [timestamp] NOT NULL,
当我使用以下查询插入此表时
insert into test(id,name) values(1,'john')
在这里,我没有在时间列中插入任何时间戳数据类型的值,但在这里,一些值是自动插入的
所以我想知道我是否可以在这列中设置自己的序列值,比如1小时设置3600,2小时设置7200,所以有些时间值
我试过这样做
[Time] [timestamp] NOT NULL,
更新测试集时间=7200,但它显示了以下错误
无法更新时间戳列。
我试图给出一个长值,但仍然是相同的错误
update test set Time= '2005-05-13 07:15:31.123456789'
根据官方文档,这是不可能的,与其他数据库管理系统不同,它不用于存储日期,而只是一个自动更新的8位值
Typetimestamp只是一个自计算的二进制字段,您不应该也不可能在一开始就更新它。如果可能的话,可以为您的项目使用一个自定义添加的datetime字段。可以(至少在MySql中)创建一个常规字段,并使用Getdate()为其指定一个默认值,以具有类似时间戳类型的字段 类似这样的东西, ALTER TABLE YourTable为列添加约束DF_YourTable DEFAULT GETDATE()
当然,您的数据字段不能再是时间戳类型。不,您不能更新时间戳。您可以使用以下内容: [时间][日期时间]默认值不为空(GETDATE) 您可以随时修改该列