내가 가진 :sqlite3 데이터베이스를 "?"로 업데이트하십시오. - 파이썬
데이터베이스 testing.db3 테이블 : MYTABLE 열을 '이름', '상태'
을 내가 할 :
con = sqlite3.connect('testing.db3')
cur = con.cursor()
cur.execute('select * from mytable where status is null')
data = cur.fetchone()
print(data[0])
나는 결과 다음을받을 원하는대로 :
('Johnny', 'None')
이 줄을 업데이트하려고하는데, 다음과 같이하면 작동합니다.
cur.execute('UPDATE mytable SET status = "Online" WHERE name is "Johnny"')
그러나 '?'로 업데이트하려면 그냥 작동하지 않습니다. 왜 그런가?
cur.execute('UPDATE mytable SET status = "Online" WHERE name is ?', data[0])
con.commit()
con.close()
도움을 주시면. 고맙습니다.
오류 메시지가 무엇입니까? 그것은 두 개의 매개 변수를 삽입했기 때문입니까, 그러나'execute'는 오직 하나만 기대합니다? – imant
"sqlite3.ProgrammingError : 잘못된 바인딩 수가 제공되었습니다." 튜플의 첫 번째 값인 data [0]을 선택했습니다. –
'data [0]'의 값이 "Johnny"라는 것을 의미합니까? 내가 틀렸다면 나를 정정하십시오. – imant