Maison > développement back-end > Tutoriel Python > Pourquoi est-ce que j'obtiens une erreur « Nombre incorrect de liaisons fournies » dans mon code SQLite3 ?

Pourquoi est-ce que j'obtiens une erreur « Nombre incorrect de liaisons fournies » dans mon code SQLite3 ?

Barbara Streisand
Libérer: 2024-11-27 08:49:17
original
659 Les gens l'ont consulté

Why Am I Getting an

Erreur de liaison dans SQLite3

Lorsque vous tentez d'exécuter une requête SQL avec plusieurs liaisons à l'aide de sqlite3, vous pouvez rencontrer le message « Nombre incorrect de liaisons message d'erreur fourni". Cette erreur se produit lorsque le nombre de liaisons fournies ne correspond pas au nombre de paramètres définis dans la requête.

Dans l'exemple de code :

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()
Copier après la connexion

Lors de la tentative d'insertion d'une chaîne de 74 caractères , vous recevez le message d'erreur, indiquant une inadéquation entre le nombre de liaisons et de paramètres.

Pour résoudre ce problème, assurez-vous de transmettre une séquence valide en tant que paramètre. Dans ce cas, les parenthèses autour de la variable img doivent inclure une virgule pour créer un tuple :

cursor.execute('INSERT INTO images VALUES(?)', (img,))
Copier après la connexion

Alternativement, vous pouvez utiliser un littéral de liste :

cursor.execute('INSERT INTO images VALUES(?)', [img])
Copier après la connexion

En corrigeant le paramètre , vous fournirez le nombre correct de liaisons pour la requête, résolvant ainsi l'erreur et vous permettant d'insérer les données avec succès.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal