>  기사  >  백엔드 개발  >  SQLite 매개변수 대체 시 \"잘못된 바인딩 수가 제공됨\" 오류가 발생하는 이유는 무엇입니까?

SQLite 매개변수 대체 시 \"잘못된 바인딩 수가 제공됨\" 오류가 발생하는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-19 15:29:01341검색

Why Do I Get

SQLite 매개변수 대체 문제

Python 2.5에서 매개변수 대체를 사용하여 SQLite 데이터베이스를 쿼리하려고 하면 "잘못됨"이라는 오류가 발생할 수 있습니다. 제공된 바인딩 수입니다." 하나의 바인딩만 제공함에도 불구하고. 이 문제는 데이터베이스 생성 중에 발생할 수 있으며, 여기에는 데이터를 삽입하는 동안 여러 바인딩이 포함될 수 있습니다.

이 문제를 해결하려면 매개변수 대체가 포함된 Cursor.execute() 메서드의 올바른 형식을 사용해야 합니다. 바인딩 매개변수를 나타내는 문자열을 전달하는 대신 시퀀스를 두 번째 인수로 제공해야 합니다. 수정된 코드는 다음과 같습니다.

<code class="python">for item in self.inventory_names:
    self.cursor.execute("SELECT weight FROM Equipment WHERE name = ?", [item])
    self.cursor.close()</code>

시퀀스 내에 매개변수 값을 제공하면 Cursor.execute() 메서드가 바인딩을 올바르게 인식하고 적용하여 오류를 해결합니다. 커서 개체에 대한 자세한 내용은 Python의 sqlite3 설명서를 참조하세요.

위 내용은 SQLite 매개변수 대체 시 \"잘못된 바인딩 수가 제공됨\" 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.