6

我正在将 SQL Server 数据库架构迁移到 MySQL。SQL Server 上的某些表具有 rowversion 类型的列。这是一个整数值,在第一次插入行时设置,然后在每次更新行的任何列时再次设置。该数字只会增加。

我们利用它来检查并发问题。因此,当插入到服务器时,我们可以检查传入值是否与当前存储的值不同。如果是这样,那么自导致此插入的读取以来,该行已被更新。然后我们可以拒绝更新,因为它基于过时的值。乐观并发。

在 MySQL 中是否有一个等价物可以为我们做同样的事情?

4

2 回答 2

8

MySQL TIMESTAMP 数据类型具有乐观并发测试所需的自动初始化和自动更新功能。例如,参见http://www.mysqltutorial.org/mysql-timestamp.aspx

于 2015-10-19T22:55:26.327 回答
7

MySQL TIMESTAMP 数据类型可能具有初始化和自动更新功能,但数据类型是基于日期的,如果分辨率不在 ns 维度中,您将遇到问题。即使使用 ns 分辨率,仍然可能存在问题......所以答案实际上是否定的。

于 2019-02-20T14:54:22.393 回答