Problème d'insertion en base de données
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:
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:
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.