我有一个整数值的行,该行上有很多并发请求,我希望每次读取操作都跟着更新操作(增量),并保持数据一致,只有一个请求可以读取 - >同时更新。
我已经做了一些研究并想出了select_for_update(),我还想到在SELECT上做一个触发器来增加它被选中后的值,问题是..这会像我假设的那样工作吗?
触发器是并行工作还是以这种方式保持一致?
答案 0 :(得分:1)
django select_for_update
是大多数常见数据库(postgres,mysql,oracle ...)中存在的select ... for update
功能的包装器,它基本上锁定所选行以防止并发更新。
您需要将锁包装到一个事务中,这样访问才会被锁定,直到事务的执行结束。