Python 更新值检查前一个-SQLObject
在已经部署的应用程序中,使用,我只需要在前一个值与某个值匹配时更新一个值 等效的sql可以是:Python 更新值检查前一个-SQLObject,python,sqlobject,Python,Sqlobject,在已经部署的应用程序中,使用,我只需要在前一个值与某个值匹配时更新一个值 等效的sql可以是: UPDATE jobs SET status='150' WHERE id=1234 AND status='100' 我之所以需要它,是因为我们在不同的服务器上有许多守护进程实例(彼此不了解),它们可能希望接受作业并更新数据库以将作业标记为“已接受” 我想防止两个节点设置相同的值进行“双重更新” 如果我能得到受影响行的数量,那就太好了。结果为0时,允许说“作业已在获取和更新之间执行” 执行更新的代
UPDATE jobs SET status='150' WHERE id=1234 AND status='100'
我之所以需要它,是因为我们在不同的服务器上有许多守护进程实例(彼此不了解),它们可能希望接受作业并更新数据库以将作业标记为“已接受”
我想防止两个节点设置相同的值进行“双重更新”
如果我能得到受影响行的数量,那就太好了。结果为0时,允许说“作业已在获取和更新之间执行”
执行更新的代码的实际部分如下所示:
def __setattr__(self, name, value):
"""Override setattr to log build status changes"""
[...]
sqlobject.SQLObject.__setattr__(self, name, value)
SQLObject有几个API层。如果使用高级API(SQLObject Inherited类),则无法执行条件更新<代码>where-子句在SQLBuilder中可用