使用此语句时
create table demo (
ts timestamp
)
insert into demo select current_timestamp我得到以下错误:
无法将显式值插入时间戳列。使用INSERT和列列表排除时间戳列,或在时间戳列中插入默认值
如何将当前时间插入timestamp列?
发布于 2012-04-21 19:53:03
根据MSDN,timestamp
公开数据库中自动生成的唯一二进制数字的数据类型。时间戳通常用作版本冲压表行的一种机制。存储大小为8字节。时间戳数据类型只是一个递增的数字,不保留日期或时间。若要记录日期或时间,请使用日期时间数据类型。
您可能正在寻找datetime数据类型。
发布于 2013-05-03 16:56:05
如果您需要复制完全相同的时间戳数据,请将目标表中的数据类型从时间戳更改为二进制(8) --我使用了var二进制(8),它工作得很好。
这显然破坏了目标表中的任何时间戳功能,所以首先要确保您对此没有问题。
发布于 2012-04-21 19:56:46
不能显式地将值插入时间戳列。它是自动生成的。不要在insert语句中使用此列。有关更多细节,请参阅http://msdn.microsoft.com/en-us/library/ms182776(SQL.90).aspx。
您可以使用日期时间而不是像这样的时间戳:
create table demo (
ts datetime
)
insert into demo select current_timestamp
select ts from demo返回:
2014-04-04 09:20:01.153https://stackoverflow.com/questions/10262426
复制相似问题