首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么在这种情况下使用时间戳而不是日期时间?

为什么在这种情况下使用时间戳而不是日期时间?
EN

Stack Overflow用户
提问于 2017-01-03 23:05:55
回答 2查看 69关注 0票数 2

在我读过的许多关于SQL时间戳使用的例子中,一个典型的例子是添加一个时间戳列,以防止出现一种竞争条件,即用户更改的数据由于另一个用户“先进入”而失去了完整性。

更具体地说,在对行发出更新之前,业务逻辑将交叉检查它们认为正在更改的时间戳,以便不会与行版本控制混淆。

问题

为什么DATETIME不能满足这个任务呢?实际上,按照这种逻辑-为什么不能使用任何唯一的数据类型呢?例如,每次发出更新时使用NEWID()?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-03 23:14:15

在mySQL中,timestamp是一种比datetime更小的物理存储数据类型。此外,时间戳是通用的,忽略所有时区。对于国际产品来说,这一点很重要。

不推荐使用ID,因为它们通常在插入/更新时生成。

票数 2
EN

Stack Overflow用户

发布于 2017-01-03 23:12:31

看来我错过了时间戳的基本功能,它会自动更新。

因此,在一行上调用UPDATE将自动递增它的TIMESTAMP列,而无需我手动设置它。

我在这里留下这个答案,以防有人对我可能遗漏的其他东西有什么意见。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41446445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档