2012-09-27 4 views
0

oldValue와 newValue 사이에서 가장 큰 값을 유지해야하는 것을 제외하고 모든 열을 새로운 값으로 업데이트하면서 테이블의 행을 업데이트하려고합니다.안드로이드와 ContentValues의 Sqlite에서 값 업데이트하기

원시 쿼리 (예 : update(String table, ContentValues values, String whereClause, String\[\] whereArgs) 함수 또는 ContentValues를 사용하는 다른 유사 함수)를 사용하지 않고 문자 모양 및 기타 공급자 이점을 확보하려면이 방법이 있습니까?

UPDATE users SET name='newName', address='newAddress', 
       lastLogin=GREATEST(lastLogin,1348757941); 
+0

내가 달성하고자하는 쿼리는 같은 것입니다. ContentValues에 함수를 넣을 수 없다고 생각합니다. (여전히 rawQuery에서와 같이 "max (something)"문자열을 넣으려고 시도 할 수 있습니다.) 또는 where 절을 사용하여 무언가를 찾으려 시도 할 수 있습니다. rawQuery를 게시 할 수 있습니까? – njzk2

+0

ContentValues에 함수가 필요합니다. 게시 쿼리 원시 – Addev

+1

당신은 최대 기능을 넣을 수 있을지 의심 스럽지만 아마도 그런 것들을 방지하기 위해 탈출이 contentValue입니다. 내가 rawQuery 없이이 일을하는 방법을 볼 수 없어 (하지만 난 sqlite 전문가가 아니에요) – njzk2

답변

1

GREATEST 기능이 실제로 MAX라고 : 내가 알고하지 않는 것이

UPDATE users 
SET name = 'newName', 
    address = 'newAddress', 
    lastLogin = MAX(lastLogin, 1348757941)