0

reading data从一个表中又Sybase ASE 15.5 database回到另一个目标。所有和数据匹配而不是列。insertingdataSybase ASE 15.5 databasesourcedestinationtimestamp

据我所知,该timestamp专栏会自动更新:

每次插入或更新包含时间戳列的行时,时间戳列都会自动更新。一个表只能有一个时间戳数据类型的列。名为 timestamp 的列将自动具有系统数据类型 timestamp。

来源:https ://www.aquaclusters.com/app/home/project/public/aquadatastudio/wikibook/Sybase-ASE-3/page/4/Data-Types

因此,当我将该timestamp数据恢复回目标数据库时,它与实际数据不匹配。

这是源表的简短屏幕

在此处输入图像描述

这是目标表的简短屏幕

在此处输入图像描述

如何恢复时间戳列的确切值?

供参考:

我正在使用Apache Meta-model从源表中查询数据并将该数据恢复到目标数据库中。 As you can see timestamp is an array of bytes so I am extracting data as an array of bytes and restore it again as array of bytes but the value timestamp column is being changed when restore.

4

1 回答 1

0

你不能。时间戳列将始终更新;这些列包含的这个值是“数据库时间戳”,它是 ASE 中事务机制的基础,并且随着每个插入或更新的行或数据库中的任何其他更改而递增。然而,“时间戳”这个名称具有误导性,因为它与现实世界的时间完全无关。它只是一个 6 字节的计数器,只会在数据库的生命周期内增加。

如果您想要这些列中的真实时间,请改用数据类型“日期时间”或“大日期时间”。

于 2016-04-21T10:08:20.987 回答