executemany를 사용하여 데이터베이스에 값을 삽입하려했지만 나에게 적합하지 않습니다.파이썬의 executemany를 sqlite3이 제대로 작동하도록 할 수 없습니다.
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 3 supplied.
그러나
나는 목록을 변경하면, 그것은 잘 작동 :
clist = ["a", "b"]
cursor.executemany("INSERT INTO myTable(data) values (?) ", clist)
그것은으로 작동
clist = []
clist.append("abc")
clist.append("def")
clist.append("ghi")
cursor.executemany("INSERT INTO myTable(data) values (?) ", clist)
이 나에게 다음과 같은 오류를 제공합니다 : 다음은 샘플입니다 예상했다! 데이터베이스의 데이터를 볼 수 있습니다. 첫 번째 목록이 작동하지 않고 두 번째 목록이 작동하는 이유는 무엇입니까?
(추신 : 이것은 실제 코드가 아닌 샘플입니다. 간단히하기 위해 작은 테스트 케이스를 만들었습니다.)
내가 executemany 알고있는 것과
둘 다 동일한 테이블이었습니다. 오타가 나쁘다. 이제 문제가 해결되었습니다. 그 안에 하나의 필드가있는 간단한 테이블. – brainydexter
그래 ... 아직 두 질문에 모두 답변했습니다 ... – marr75
두 번째 클리스트에 대한 의견을 다시 올릴 수 있습니까? 내 대답을 게시 한 사람이 그것을 삭제하고 그 사람과 함께 갔다고 생각합니다. – brainydexter