170得票3回答
何时使用SELECT ... FOR UPDATE?

请帮我理解使用 SELECT ... FOR UPDATE 的用例。 问题1:以下是否是使用 SELECT ... FOR UPDATE 的好例子? 给定: 房间 [id] 标签 [id, name] 房间标签 [room_id, tag_id] 房间 id 和 标签 id 是外键 ...

69得票1回答
PostgreSQL中函数中的FOR UPDATE语句意味着什么?

关于在 Postgres 函数中使用 SELECT ... FOR UPDATE 行级锁定,我有两个问题: 我选择哪些列是否重要?它们与我需要锁定和更新的数据有何关系?SELECT * FROM table WHERE x=y FOR UPDATE; 对峙SELECT 1 FROM tab...

50得票3回答
SQLAlchemy - select for update示例

我正在寻找在SQLAlchemy中使用select for update的完整示例,但在Google搜索中没有找到。我需要锁定一行并更新一列,以下代码无法运行(永久阻塞):s = table.select(table.c.user=="test",for_update=True) # Do u...

44得票3回答
如何在Django中使用"select_for_update()"获取对象?

根据Django文档所述,select_for_update返回一个Queryset,但是get不是这样。现在我有一个查询,我确定它只会返回一个元组。但是我还需要为此事务获取锁定。因此,我正在执行以下操作:ob = MyModel.objects.select_for_update().fil...

28得票2回答
为什么要使用SELECT FOR UPDATE?(MySQL)

关于我们使用 SELECT FOR UPDATE 的目的,我有一个问题。它到底是做什么的? 我有两个表,需要从其中一个表中选择行并更新相同的行。 例如: Select 查询SELECT * from t1 WHERE city_id=2 for update 更新查询UPDATE t1 SE...

20得票4回答
Django的select_for_update不能在事务之外使用。

我曾使用的是 Django 1.5.1 版本,现在升级到了Django 1.6.6。 在 Django 1.5.1 中,我使用了 select for update 来确保原子执行。# "views.py" from django.db import transactio...

19得票5回答
为什么不能在聚合函数中使用SELECT ... FOR UPDATE语句?

我有一个应用程序,在该应用程序中,我对一组记录的数据库列执行Sum()操作,并在稍后使用该总和进行单独的查询,类似于以下示例(虚构的表,但思想相同):SELECT Sum(cost) INTO v_cost_total FROM materials WHERE material_id >...

10得票5回答
SELECT ... *FOR UPDATE*的目的是什么?

我很困惑你为什么要指定FOR UPDATE -- 数据库为什么关心你从SELECT中获取的数据要做什么? 编辑:抱歉,我表达不清楚。我知道文档上说它会将事物变成"锁定读取" -- 我想知道的是,在指定FOR UPDATE和不指定的情况下,观察到的行为有哪些不同的情况存在 -- 也就是说,那个...

8得票1回答
Postgres: SELECT FOR UPDATE 在锁释放后不能看到新的行

尝试在我的应用程序中支持PostgreSQL数据库,发现了这种奇怪的行为。 准备工作: CREATE TABLE test(id INTEGER, flag BOOLEAN); INSERT INTO test(id, flag) VALUES (1, true); 假设有两个并发事务...