2016-09-07 3 views
0

내 DB에서 행을 업데이트하기 위해 다음 쿼리를 만들었습니다.python sqlite3 변수에서 업데이트 설정

def saveData(title, LL, LR, RL, RR, distanceBack): 
    c.execute("UPDATE settings SET (?,?,?,?,?,?) WHERE name=?",(title, LL, LR, RL, RR, distanceBack, title)) 
    conn.commit() 

난 항상 다음 오류 얻을 : sqlite3.OperationalError을 : 근처에 "(".. 구문 오류 을 내가 뭔가 내가 정확한 솔루션이 무엇인지 알 수없는 물음표가 정확하지 알 수 누군가가 문제가 무엇인지 설명해

+0

처럼 뭔가 쿼리를 수정하는 UPDATE table SET (key=value, key2=value2, ...) WHERE <condition>

에 한번 같이해야한다 알고 당신이이 기능을 수행하려고하는 것은 형식은 문자열 실행될 질의어. 분명히 문자열 형식이 잘 작동하고 있습니다. 당신은 이것을 시도 할 수 있습니다 :'c.execute ("UPDATE 설정 SET ({}, {}, {}}, {}, {}) WHERE name = {}". 형식 (제목, LL, LR, RL, RR, 거리 백업, 제목))'. 문자열 형식을 사용하여 DB에 의해 실행되는 쿼리를 작성할 때는 허용하는 주입에주의해야합니다. 이것도 다른 사람들이 사용한다면, 약간의 독서를해야합니다. –

+1

sqlite에서 그 구문이 유효하다는 것이 확실합니까? 아마도 시도해 볼 수 있습니다. UPDATE table_name SET column1 = value1, column2 = value2 ...., columnN = valueN WHERE [condition]; –

+0

아마'UPDATE' 구문이 잘못되었습니다 - http://www.w3schools.com/sql/sql_update.asp – furas

답변

1

당신이 SQL 구문을 사용할 수 있습니다 : 당신이 범주라는 테이블이 있고 카테고리 이름을 편집 할 경우, 예를 들어

UPDATE table_name 
SET column1 = value1, column2 = value2...., columnN = valueN 
WHERE [condition]; 

을, 당신은 사용할 수 있습니다

는 WHERE : (ID, NAME) ID 기본 키 :

종류는 두 항목을 포함하는 테이블입니다. 다음 것이다

-1

지금까지 내가 UPDATE 쿼리

c.execute("UPDATE settings SET (title=?,LL=?,LR=?,RL=?,RR=?,distanceBack=?) WHERE name=?",(title, LL, LR, RL, RR, distanceBack, title))