SQLite3 오류: 잘못된 바인딩이 제공됨
바인드 매개변수를 사용하여 SQL 쿼리를 실행할 때 올바른 수의 바인딩이 제공되었는지 확인하는 것이 중요합니다. 해당 코드에서 다음 오류가 발생했습니다.
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 74 supplied
코드를 검토한 결과:
def insert(array): connection = sqlite3.connect('images.db') cursor = connection.cursor() cnt = 0 while cnt != len(array): img = array[cnt] print(array[cnt]) cursor.execute('INSERT INTO images VALUES(?)', (img)) cnt += 1 connection.commit() connection.close()
바인드 매개변수가 지정되는 방식에 문제가 있다는 것이 분명해졌습니다. cursor.execute 문에서:
cursor.execute('INSERT INTO images VALUES(?)', (img))
오류를 해결하려면 쉼표를 사용하여 튜플:
cursor.execute('INSERT INTO images VALUES(?)', (img,))
또는 목록 리터럴을 사용할 수 있습니다.
cursor.execute('INSERT INTO images VALUES(?)', [img])
바인드 매개변수가 튜플이나 목록으로 올바르게 제공되었는지 확인하면 올바른 바인딩 수가 사용하여 오류를 해결했습니다.
위 내용은 내 SQLite3 코드에서 \'잘못된 바인딩 제공\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!