Bonjour à tous,

Je commence seulement à apprendre le langage et je rencontre un problème. J'ai essayé de chercher sur le web mais rien ne correspond à ce que je recherche.

Je fais une connexion sur une base de données, une requête de sélection et pour chaque ligne que me ramène ma requête de je veux faire une insertion dans une autre table, c'est là que se produit l'erreur.
Et maintenant un peu de code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import requests
from bs4 import BeautifulSoup
import datetime
import mysql.connector
 
# Déclartion / Initialisation des variables
# On récupère la date du jour, format YYY-MM-DD
myDatetime = datetime.datetime.now()
myDateString = myDatetime.strftime('%Y-%m-%d')
vCodeAction = ""
nomAction = ""
codeAction = ""
cours = 0
 
# Connexion à la base de données
connection = mysql.connector.connect(host='localhost',
                                     user='budget',
                                     password='Hnkjb87ay&',
                                     db='budget')
try:
    cursor = connection.cursor()
    querySelect="select col1, col2 from matable limit 0, 5"
    cursor.execute(querySelect)
    while True:
        row = cursor.fetchone()
        if row is None:
            break
        variable1 = row[1]
        varaible2 = row[0]
        queryInsert = "insert into maTableDeDestination (col1, col2) values (%s, %s)"
        params = (variable1, variable2)
        cursor.execute(queryInsert, params)
        connection.commit()
finally:
    # Closez la connexion (Close connection).
    connection.close()
C'est vraiment la ligne cursor.execute(queryInsert, params) qui pose problème dans la boucle while, si je la sors de la boucle elle exécute bien l'ordre d'insertion mais n'en fait qu'une seule au lieu des cinq lignes prévues.

L'erreur affichée est celle-ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Traceback (most recent call last):
  File "D:\python\bourse\coursAction.py", line 49, in <module>
    cursor.execute(queryInsert, params)
  File "D:\python\bourse\env\lib\site-packages\mysql\connector\cursor_cext.py", line 243, in execute
    self._cnx.handle_unread_result()
  File "D:\python\bourse\env\lib\site-packages\mysql\connector\connection_cext.py", line 794, in handle_unread_result
    raise errors.InternalError("Unread result found")
mysql.connector.errors.InternalError: Unread result found
Je ne sais pas d'où peut venir le problème. Merci à tous.