MySQL 是否具有 SQL 服务器行版本的等效项?
Does MySQL have an equivalent of SQL Server rowversion?
我正在将 SQL 服务器数据库架构迁移到 MySQL。 SQL 服务器上的一些表有一个类型为 rowversion 的列。这是一个整数值,在首次插入行时设置,然后在每次更新行的任何列时再次设置。该数字只会增加。
我们利用它来检查并发问题。因此,当插入到达服务器时,我们可以检查传入值是否与当前存储的值不同。如果是这样,则该行自导致此插入的读取以来已更新。然后我们可以拒绝更新,因为它基于过时的值。乐观并发。
在MySQL中是否有可以为我们做同样事情的等价物?
MySQL TIMESTAMP 数据类型具有乐观并发测试所需的自动初始化和自动更新功能。例如,参见 http://www.mysqltutorial.org/mysql-timestamp.aspx
MySQLTIMESTAMP 数据类型可能具有初始化和自动更新功能,但该数据类型是基于日期的,如果分辨率不在 ns 维度中,您将遇到问题。即使是 ns 分辨率仍然可能存在问题...所以答案实际上是否定的。
我正在将 SQL 服务器数据库架构迁移到 MySQL。 SQL 服务器上的一些表有一个类型为 rowversion 的列。这是一个整数值,在首次插入行时设置,然后在每次更新行的任何列时再次设置。该数字只会增加。
我们利用它来检查并发问题。因此,当插入到达服务器时,我们可以检查传入值是否与当前存储的值不同。如果是这样,则该行自导致此插入的读取以来已更新。然后我们可以拒绝更新,因为它基于过时的值。乐观并发。
在MySQL中是否有可以为我们做同样事情的等价物?
MySQL TIMESTAMP 数据类型具有乐观并发测试所需的自动初始化和自动更新功能。例如,参见 http://www.mysqltutorial.org/mysql-timestamp.aspx
MySQLTIMESTAMP 数据类型可能具有初始化和自动更新功能,但该数据类型是基于日期的,如果分辨率不在 ns 维度中,您将遇到问题。即使是 ns 分辨率仍然可能存在问题...所以答案实际上是否定的。