我想知道SQL Server中TimeStamp
数据类型的用途是什么。
因为它是二进制的,所以它不是人类可读的,我无法转换为datetime
或任何其他类型。因为我们不使用任何类型的复制,所以对我来说没有任何意义。
我问的原因是我继承了一个数据库,其中大多数表都有一个TimeStamp
列,我无法做到
INSERT INTO SELECT *
或
SELECT * INTO
好的,我从不在程序或任何生产场景中执行此操作,但我在开发上做了很多工作来创建表的克隆或将较小的数据集复制到临时表中。
放弃这些列是否安全?它们不会在系统中的任何位置查询。
全部谢谢!
答案 0 :(得分:3)
这些通常用于冲突检测。
无论何时在数据库中插入或更新行,都会在行的时间戳字段中放置一个新的唯一时间戳值。
这意味着您可以检测到以下情况:
使用时间戳可以检测到点4。如果您在第1点查询的任何行的时间戳已更改,则行不再是您在第1点中获得的行。