例如,我们有一个如下表
car_id, car_name, car_status, engine
100, car1, running, A
200, car2, stop, B
当car_status正在运行时,业务逻辑是引擎无法更新
最明显的一步是
问题是有人可能会在步骤1和步骤2之间将状态更改为正在运行。
如何在RDBMS和mongo中阻止这种情况?
答案 0 :(得分:0)
我认为您只需要保留一种方法来更新应用程序中的car_status,并将该函数作为更新car_status的唯一方式公开(您可以在数据库中创建具有此表或集合的写权限的用户,并且这将迫使您始终只使用该user_id来运行此更新操作,并且当从应用程序执行时,这将适用。)