Bindungsfehler in SQLite3
Wenn Sie versuchen, eine SQL-Abfrage mit mehreren Bindungen mit sqlite3 auszuführen, kann es sein, dass Sie auf die Meldung „Falsche Anzahl von Bindungen“ stoßen Fehlermeldung „geliefert“. Dieser Fehler tritt auf, wenn die Anzahl der bereitgestellten Bindungen nicht mit der Anzahl der in der Abfrage definierten Parameter übereinstimmt.
Im Beispielcode:
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()
Beim Versuch, eine 74 Zeichen lange Zeichenfolge einzufügen , erhalten Sie die Fehlermeldung, die auf eine Nichtübereinstimmung zwischen der Anzahl der Bindungen und Parametern hinweist.
Um dieses Problem zu beheben, stellen Sie sicher, dass Sie eine gültige Sequenz als Parameter übergeben. In diesem Fall sollten die Klammern um die Variable img ein Komma enthalten, um ein Tupel zu erstellen:
cursor.execute('INSERT INTO images VALUES(?)', (img,))
Alternativ können Sie ein Listenliteral verwenden:
cursor.execute('INSERT INTO images VALUES(?)', [img])
Durch Korrigieren des Parameters , stellen Sie die richtige Anzahl von Bindungen für die Abfrage bereit, beheben den Fehler und ermöglichen Ihnen das erfolgreiche Einfügen der Daten.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meinem SQLite3-Code die Fehlermeldung „Falsche Anzahl bereitgestellter Bindungen'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!