SQL Server2000中的timestamp能否设置为当前时间?自动的是个二进制串

我是丁学 2006-03-12 06:00:44
SQL Server2000中的timestamp被微软改装过了,不是datetime类型,而是一个二进制串
我需要的是每次插入和更新都将这一列设置为当前时间,自动的那个二进制串转化后不是当前时间
datetime列设置默认值和建update的触发器就不用说了,老板说了不让用
...全文
429 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wgsasd311 2006-03-13
  • 打赏
  • 举报
回复
timestamp

数据库范围的唯一数字,每次更新行时也进行更新。
timestamp
timestamp 这种数据类型表现自动生成的二进制数,确保这些数在数据库中是唯一的。timestamp 一般用作给表行加版本戳的机制。存储大小为 8 字节。

注释
Transact-SQL timestamp 数据类型与在 SQL-92 标准中定义的 timestamp 数据类型不同。SQL-92 timestamp 数据类型等价于 Transact-SQL datetime 数据类型。

Microsoft® SQL Server™ 将来的版本可能会修改 Transact-SQL timestamp 数据类型的行为,使它与在标准中定义的行为一致。到那时,当前的 timestamp 数据类型将用 rowversion 数据类型替换。

Microsoft® SQL Server™ 2000 引入了 timestamp 数据类型的 rowversion 同义词。在 DDL 语句中尽可能使用 rowversion 而不使用 timestamp。rowversion 受数据类型同义词行为的制约。有关更多信息,请参见数据类型同义词。

在 CREATE TABLE 或 ALTER TABLE 语句中,不必为 timestamp 数据类型提供列名:

CREATE TABLE ExampleTable (PriKey int PRIMARY KEY, timestamp)

lsqkeke 2006-03-13
  • 打赏
  • 举报
回复
一楼说的正确
我是丁学 2006-03-13
  • 打赏
  • 举报
回复
也就是说timestamp总是在不断增大?
每一次操作产生的timestamp总会比前一次操作的数大?
OracleRoob 2006-03-12
  • 打赏
  • 举报
回复
SQL Server timestamp 数据类型与时间和日期无关。
SQL Server timestamp 是二进制数字,它表明数据库中数据修改发生的相对顺序。
实现 timestamp 数据类型最初是为了支持 SQL Server 恢复算法。
每次修改页时,都会使用当前的 @@DBTS 值对其做一次标记,然后 @@DBTS 加1。
这样做足以帮助恢复过程确定页修改的相对次序,但是 timestamp 值与时间没有任何关系。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧