Requête SQL qui ne passe pas
DeadGun
-
DeadGun Messages postés 4 Statut Membre -
DeadGun Messages postés 4 Statut Membre -
Bonjour,
je me permet de poster ici malgré le titre car je ne pense pas que mon problème vienne de mon code SQL.
Alors voilà, pour enregistrer dans ma BDD, je crée un curseur, puis je l'utilise à la ligne 6. Cette requête passe sans soucis donc mes infos sont enregistrées dans ma BDD.
Je réutilise le même processus à la ligne 15 sans oublié le .commit() pour que la requête prenne effet mais là, rien ne s'enregistre dans ma BDD et je n'ai aucune erreur! De plus, l'exécution s'arrête ici puisque le print() ligne 20 n'est pas exécuté...
Je sèche totalement sur ce problème donc toute aide est la bienvenue!
je me permet de poster ici malgré le titre car je ne pense pas que mon problème vienne de mon code SQL.
Alors voilà, pour enregistrer dans ma BDD, je crée un curseur, puis je l'utilise à la ligne 6. Cette requête passe sans soucis donc mes infos sont enregistrées dans ma BDD.
Je réutilise le même processus à la ligne 15 sans oublié le .commit() pour que la requête prenne effet mais là, rien ne s'enregistre dans ma BDD et je n'ai aucune erreur! De plus, l'exécution s'arrête ici puisque le print() ligne 20 n'est pas exécuté...
Je sèche totalement sur ce problème donc toute aide est la bienvenue!
#Mise en place du curseur qui nous permet de faire des requêtes
cursor = connection.cursor()
#Enregistrement des informations générales
elementsRequeteInfosGenerales = (nomRelease, fichiers[numeroFilm], dureeFilm)
cursor.execute("INSERT INTO films_infos_generales (nomRelease, titreFichier, dureeMinute) VALUES (%s, %s, %s)", elementsRequeteInfosGenerales)
connection.commit()
#Récupération de l'ID du film qui est en train d'être enregistré
cursor.execute("SELECT id FROM films_infos_generales ORDER BY id DESC")
id = cursor.fetchone()
#Enregistrement des informations de la vidéo
elementsRequeteInfosVideo = (id[0], idCodecVideo, hauteurVideo, largeurVideo, qualite)
cursor.execute("INSERT INTO films_infos_video (id_film, codecVideo, hauteur, largeur, qualite) VALUES (%s, %s, %s, %s, %s)", elementsRequeteInfosVideo)
connection.commit()
#Enregistrement des informations de la/des piste(s) audio(s)
elementsRequeteInfosAudios = (id[0], nomPisteAudio, languePisteAudio, idCodecAudio, nombreCanaux)
print(elementsRequeteInfosAudios)
cursor.execute("INSERT INTO films_infos_audios (id_film, nomAudio, langueAudio, codecAudio, nombreCanaux) VALUES (%s, %s, %s, %s, %s)", elementsRequeteInfosAudios)
connection.commit()
#Enregistrement des informations des sous-titres
elementsRequeteInfosSousTitre = (id[0], nomPisteSousTitre, languePisteSousTitre, idCodecSousTitre)
cursor.execute("INSERT INTO films_infos_soustitres (id_film, nomSousTitre, langueSousTitre, codecSousTitre) VALUES (%s, %s, %s, %s)", elementsRequeteInfosSousTitre)
connection.commit()
1 réponse
-
Bonjour,
Je ne fais pas de Python,
mais tu devrais placer tes requêtes dans des blocs Try
https://dev.mysql.com/doc/connector-python/en/connector-python-api-errors-error.html
un truc du genre :try: #Enregistrement des informations de la vidéo elementsRequeteInfosVideo = (id[0], idCodecVideo, hauteurVideo, largeurVideo, qualite) cursor.execute("INSERT INTO films_infos_video (id_film, codecVideo, hauteur, largeur, qualite) VALUES (%s, %s, %s, %s, %s)", elementsRequeteInfosVideo) connection.commit() except mysql.connector.Error as e: print "Error code:", e.errno # error number print "SQLSTATE value:", e.sqlstate # SQLSTATE value print "Error message:", e.msg # error message print "Error:", e # errno, sqlstate, msg values s = str(e) print "Error:", s # errno, sqlstate, msg values