mariadb 行级读锁定
mariadb row level read locking
是否有任何 mariadb 后端支持行级读取锁定?我的意思是:
我有一个应用程序可以 运行 在三四台不同的机器上运行。机器数量是动态的,没有固定地址。该应用程序将执行以下两个查询:
SELECT col3 from table1 WHERE col1=X
<do some checking with the version>
UPDATE table1 SET col2 = somevalue, col3 = somevalue WHERE col1=X
现在,在第一个 SELECT 查询和第二个 UPDATE 查询之间,我不希望应用程序的任何实例读取(不仅仅是写入)对应于 col1=X[ 的记录=11=]
是否可以在mariadb中实现?
回答我的问题:
我们可以使用 SELECT ... FOR UPDATE 子句来锁定单个记录。这个锁会在事务 commit/rollback 上自动释放。更多信息请访问:https://dev.mysql.com/doc/refman/5.6/en/innodb-locking-reads.html
是否有任何 mariadb 后端支持行级读取锁定?我的意思是:
我有一个应用程序可以 运行 在三四台不同的机器上运行。机器数量是动态的,没有固定地址。该应用程序将执行以下两个查询:
SELECT col3 from table1 WHERE col1=X
<do some checking with the version>
UPDATE table1 SET col2 = somevalue, col3 = somevalue WHERE col1=X
现在,在第一个 SELECT 查询和第二个 UPDATE 查询之间,我不希望应用程序的任何实例读取(不仅仅是写入)对应于 col1=X[ 的记录=11=]
是否可以在mariadb中实现?
回答我的问题:
我们可以使用 SELECT ... FOR UPDATE 子句来锁定单个记录。这个锁会在事务 commit/rollback 上自动释放。更多信息请访问:https://dev.mysql.com/doc/refman/5.6/en/innodb-locking-reads.html