2016-07-25 4 views
2

이미 배포 된 응용 프로그램에서 SQLObject을 사용하여 이전 값이 특정 값과 일치하면 값 으로 업데이트해야합니다.이전 값을 검사하는 값 업데이트 - SQLObject

동등한 SQL은있을 수 : 우리가를 표시하기 위해 DB를 작업을하고 업데이트 할 수 있습니다 서로 다른 서버에 데몬 (서로를 모르고)의 많은 경우가 있기 때문에

UPDATE jobs SET status='150' WHERE id=1234 AND status='100' 

내가이 필요 직업을 '가져 갔다'.

같은 값을 설정하는 두 노드의 "이중 업데이트"를 방지하고 싶습니다.

결과로 영향을받는 행 수를 얻을 수 있으면 좋을 것입니다.

def __setattr__(self, name, value): 
    """Override setattr to log build status changes""" 
    [...] 
    sqlobject.SQLObject.__setattr__(self, name, value) 

답변

0

SQLObject의 몇 가지 API를 가지고 : 0의 결과로 그것은

업데이트를하고 코드의 실제 부분처럼 보이는 ... "작업이 이미 패치 및 업데이트 사이에 찍은"말을 허용 할 레이어. 고급 API (SQLObject- 상속 된 클래스)를 사용하는 경우 조건부 UPDATE를 실행할 방법이 없습니다. where - 절은 SQLBuilder의 Update에서 사용할 수 있습니다.