Sql server中TIMESTAMP類型有什麼用途?

pwq 2003-06-09 09:02:18
Sql server中TIMESTAMP類型有什麼用途?
...全文
79 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pwq 2003-06-10
  • 打赏
  • 举报
回复
看看來自大富翁的回答:

用"时间戳(timestamp)"的数据项来控制并发性。
每张表中都有一个时间戳的数据列,当Insert语句或Update语句对数据行作修改时该列自动被修改为当前时间。
当你要作修改时,where子句可检查时间戳列在查询时和修改时两个值是否相符,以此来确保你作出的修改不会覆盖别人的修改,因此这种确认方式与keyandUpdateableColumns选项相同。 即使两个用户对同一行的不同列作修改,后一个修改者也将失败。
在常用的关系型数据库中Sybase和Microsoft的SQLServer支持时间戳的使用。
tianbog 2003-06-09
  • 打赏
  • 举报
回复
在SQL-99标准中有进一步的扩充的数据类型,比如时间间隔(inerval)类型。
tianbog 2003-06-09
  • 打赏
  • 举报
回复
timestamp就是datetime,存储大小可达1753-01-01 00:00:00到9999-12-31 23:59:59的时间和日期数据。
sasacat 2003-06-09
  • 打赏
  • 举报
回复
timestamp 这种数据类型表现自动生成的二进制数,确保这些数在数据库中是唯一的。timestamp 一般用作给表行加版本戳的机制。存储大小为 8 字节。
对行的任何更新都会更改 timestamp 值

我想用处是用来看这一行数据有没有被改变过?

pengdali 2003-06-09
  • 打赏
  • 举报
回复
create table aa(a int,cc timestamp)

--比如有3个数据:
insert aa (a) values(1)
insert aa (a) values(2)
insert aa (a) values(3)


--这时有一个人查看表:
select * from aa

--这时另一个人又改了表的a字段
update aa set a=5 where a=1

--但别人不知道改了a字段,但他可以通过时间戳,来区分,那条记录被修改了
select * from aa
tianbog 2003-06-09
  • 打赏
  • 举报
回复
你这个帖子不值100分,给多了。

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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