gpt4 book ai didi

java - 防止mysql脏读

转载 作者:行者123 更新时间:2023-11-29 18:30:52 25 4
gpt4 key购买 nike

我有一个 MySQL 表

mysql> select * from test;
+----+--------+
| id | status |
+----+--------+
| 1 | unread |
+----+--------+

假设我正在从机器 m1、m2、m3、m4 读取此应用程序,它们是彼此的 H.A。

我想要的是:

如果 状态==未读那么 m1、m2、m3、m4 中的任何一个(但只有一个)都可以拾取这一行,并将其状态更改为正在处理并进一步处理。

但是我面临的问题是m1、m2、m3、m4同时读取多个脏读读取status = unread并且它们同时将状态更改为处理并开始处理它。

如何确保一次只能读取 m1、m2、m3、m4 中的一个

最佳答案

不知道为什么与java和多线程有关,因为您是从不同的机器访问数据库,但通常 SELECT ... FOR UPDATE可能是您所需要的。

关于java - 防止mysql脏读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45703936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com